about summary refs log tree commit homepage
path: root/test
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-03-03 11:33:10 -0800
committerEric Wong <normalperson@yhbt.net>2009-03-03 11:33:10 -0800
commitd29c40e4be4ea7eb6dafa5a1538f44ba6279c0f3 (patch)
treeddec8b7a28b1037208b4a453a95d647e12d58339 /test
parentaa55c23abafa1c1f6b13cc16d7ef36f16923aa1a (diff)
downloadunicorn-d29c40e4be4ea7eb6dafa5a1538f44ba6279c0f3.tar.gz
Diffstat (limited to 'test')
-rw-r--r--test/unit/test_configurator.rb48
1 files changed, 48 insertions, 0 deletions
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