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'