From d29c40e4be4ea7eb6dafa5a1538f44ba6279c0f3 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 3 Mar 2009 11:33:10 -0800 Subject: Add configurator test --- lib/unicorn/configurator.rb | 4 ++++ test/unit/test_configurator.rb | 48 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 test/unit/test_configurator.rb diff --git a/lib/unicorn/configurator.rb b/lib/unicorn/configurator.rb index a51dcd3..a8bb41b 100644 --- a/lib/unicorn/configurator.rb +++ b/lib/unicorn/configurator.rb @@ -1,3 +1,7 @@ +require 'unicorn/socket' +require 'unicorn/const' +require 'logger' + module Unicorn # Implements a simple DSL for configuring a Unicorn server. diff --git a/test/unit/test_configurator.rb b/test/unit/test_configurator.rb new file mode 100644 index 0000000..8de0b13 --- /dev/null +++ b/test/unit/test_configurator.rb @@ -0,0 +1,48 @@ +require 'test/unit' +require 'tempfile' +require 'unicorn/configurator' + +class TestConfigurator < Test::Unit::TestCase + + def test_config_defaults + assert_nothing_raised { Unicorn::Configurator.new {} } + end + + def test_config_invalid + tmp = Tempfile.new('unicorn_config') + tmp.syswrite(%q(asdfasdf "hello-world")) + assert_raises(NoMethodError) do + Unicorn::Configurator.new(:config_file => tmp.path) + end + end + + def test_config_non_existent + tmp = Tempfile.new('unicorn_config') + path = tmp.path + tmp.close! + assert_raises(Errno::ENOENT) do + Unicorn::Configurator.new(:config_file => path) + end + end + + def test_config_defaults + cfg = Unicorn::Configurator.new(:use_defaults => true) + assert_nothing_raised { cfg.commit!(self) } + Unicorn::Configurator::DEFAULTS.each do |key,value| + assert_equal value, instance_variable_get("@#{key.to_s}") + end + end + + def test_config_defaults_skip + cfg = Unicorn::Configurator.new(:use_defaults => true) + skip = [ :logger ] + assert_nothing_raised { cfg.commit!(self, :skip => skip) } + @logger = nil + Unicorn::Configurator::DEFAULTS.each do |key,value| + next if skip.include?(key) + assert_equal value, instance_variable_get("@#{key.to_s}") + end + assert_nil @logger + end + +end -- cgit v1.2.3-24-ge0c7