test/environment_test.rb in rubber-2.1.0 vs test/environment_test.rb in rubber-2.1.1

- old
+ new

@@ -2,16 +2,16 @@ class EnvironmentTest < Test::Unit::TestCase include Rubber::Configuration def test_known_roles - env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic") + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic", 'test') assert_equal ['role1', 'role2', 'role3', 'role4', 'role5'], env.known_roles, "list of known roles not correct" end def test_env - env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic") + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic", 'test') e = env.bind() assert_equal 'val1', e['var1'], 'env not retrieving right val' assert_equal 'val2', e['var2'], 'env not retrieving right val' assert_equal 'val1', e.var1, 'env not retrieving right val for method missing' assert_equal 'val2', e.var2, 'env not retrieving right val for method missing' @@ -35,12 +35,32 @@ assert_equal 'host1val2', e['var2'], 'env not retrieving right val' assert_equal 'val1', e.var1, 'env not retrieving right val for method missing' assert_equal 'host1val2', e.var2, 'env not retrieving right val for method missing' end + def test_env_override + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic", 'test') + e = env.bind() + assert_equal 'val1', e['var1'], 'should be global val with no overrides' + assert_equal 'val2', e['var2'], 'should be global val with no overrides' + + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic", 'env1') + e = env.bind(nil, nil) + assert_equal 'env1val1', e['var1'], 'should be val from env override' + assert_equal 'env1val2', e['var2'], 'should be val from env override' + + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic", 'env1') + e = env.bind('role1', nil) + assert_equal 'env1val2', e['var2'], 'env override should win against role' + + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic", 'env1') + e = env.bind(nil, 'host1') + assert_equal 'host1val2', e['var2'], 'host override should win against env' + end + def test_host_override - env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic") + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic", 'test') e = env.bind('norole', 'host2') assert_equal 'host2val3', e['var3'], 'env not retrieving right val' assert_equal %w[host2val4a host2val4b], e['var4'], 'env not retrieving right val' assert_equal [{'var51a' => 'val51a', 'var52a' => 'val52a'}, {'var53' => 'val53'}, {'var54' => 'val54'}], e['var5'], 'env not retrieving right val' end @@ -54,11 +74,11 @@ assert_equal({1 => "2"}, env.combine({1 => "1"}, {1 => "2"}), "Last should win for scalars in maps when combined") assert_equal({1 => {1 => "1", 2 => "2"}}, env.combine({1 => {1 => "1"}}, {1 => {2 => "2"}}), "Maps should be unioned recursively when combined") end def test_expansion - env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/expansion") + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/expansion", 'test') e = env.bind() assert_equal 'val1', e['var1'] assert_equal 'val2', e['var2'] assert_equal 'val1', e['var3'] assert_equal '4 is val2', e['var4'] @@ -87,11 +107,11 @@ assert_equal 'host1val1', e['var3'] assert_equal %w[lv1 lv2 host1val1 host1lv1 host1val2], e['list1'] end def test_bool_expansion - env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/expansion") + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/expansion", 'test') e = env.bind() assert_equal true, e['truevar'] assert_equal false, e['falsevar'] assert_equal true, e['truevar_exp'] assert 'true' != e['truevar_exp'] @@ -99,22 +119,22 @@ assert 'false' != e['falsevar_exp'] assert_equal 'true thing', e['faketruevar_exp'] end def test_secret_env - env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic") + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/basic", 'test') e = env.bind() assert_nil e['rubber_secret'], 'env should not have secret set' fixture_dir = File.expand_path("#{File.dirname(__FILE__)}/fixtures/secret") - env = Rubber::Configuration::Environment.new(fixture_dir) + env = Rubber::Configuration::Environment.new(fixture_dir, 'test') e = env.bind() assert_equal "#{fixture_dir}/secret.yml", e['rubber_secret'], 'env should have secret set' assert_equal "secret_val", e['secret_key'], 'env should have gotten setting from secret file' end def test_nested_ref - env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/nested") + env = Rubber::Configuration::Environment.new("#{File.dirname(__FILE__)}/fixtures/nested", 'test') e = env.bind() assert_equal 'val1', e.var1, 'env not retrieving right val' assert_equal 'val3', e.var2.var3, 'env not retrieving right val' assert_equal({'var5' => 'val5'}, e.var2.var4, 'env not retrieving right val') assert_equal ['val6a', 'val6b'], e.var2.var6, 'env not retrieving right val'