Revision 8347a5ef
Added by Ori Rabin over 8 years ago
test/unit/classification_test.rb | ||
---|---|---|
:match => "location=#{taxonomies(:location1)}",
|
||
:value => {:example => {:a => 'test'}},
|
||
:use_puppet_default => false
|
||
end
|
||
as_admin do
|
||
LookupValue.create! :lookup_key_id => key.id,
|
||
:match => "organization=#{taxonomies(:organization1)}",
|
||
:value => {:example => {:b => 'test2'}},
|
||
:use_puppet_default => false
|
||
end
|
||
as_admin do
|
||
LookupValue.create! :lookup_key_id => key.id,
|
||
:match => "os=#{operatingsystems(:redhat)}",
|
||
:value => {:example => {:a => 'test3'}},
|
||
... | ... | |
global_param_classification.send(:values_hash))
|
||
end
|
||
|
||
test 'smart variable of hash without merge_default should not merge with default value' do
|
||
key = FactoryGirl.create(:lookup_key, :key_type => 'hash', :merge_overrides => true,
|
||
:default_value => {:default => 'example'}, :path => "organization\nos\nlocation",
|
||
:puppetclass => puppetclasses(:one))
|
||
|
||
as_admin do
|
||
LookupValue.create! :lookup_key_id => key.id,
|
||
:match => "organization=#{taxonomies(:organization1)}",
|
||
:value => {:a => 'test2'},
|
||
:use_puppet_default => false
|
||
end
|
||
key.reload
|
||
|
||
assert_equal({key.id => {key.key => {:value => {:a => 'test2' },
|
||
:element => ['organization'],
|
||
:element_name => ['Organization 1']}}},
|
||
global_param_classification.send(:values_hash))
|
||
end
|
||
|
||
test 'smart class parameter of hash with merge_overrides and merge_default should return merge all values' do
|
||
key = FactoryGirl.create(:lookup_key, :as_smart_class_param,
|
||
:override => true, :key_type => 'hash', :merge_overrides => true, :merge_default => true,
|
||
:default_value => { :default => 'default' }, :path => "organization\nlocation",
|
||
:puppetclass => puppetclasses(:one))
|
||
|
||
as_admin do
|
||
LookupValue.create! :lookup_key_id => key.id,
|
||
:match => "location=#{taxonomies(:location1)}",
|
||
:value => {:example => {:a => 'test'}},
|
||
:use_puppet_default => false
|
||
LookupValue.create! :lookup_key_id => key.id,
|
||
:match => "organization=#{taxonomies(:organization1)}",
|
||
:value => {:example => {:b => 'test2'}},
|
||
:use_puppet_default => false
|
||
end
|
||
key.reload
|
||
|
||
assert_equal({key.id => {key.key => {:value => {:default => 'default', :example => {:a => 'test', :b => 'test2'}},
|
||
:element => ['Default value', 'location', 'organization'],
|
||
:element_name => ['Default value', 'Location 1', 'Organization 1']}}},
|
||
classification.send(:values_hash))
|
||
end
|
||
|
||
test "#enc should not return class parameters when default value should use puppet default" do
|
||
lkey = FactoryGirl.create(:lookup_key, :as_smart_class_param, :with_override, :with_use_puppet_default,
|
||
:puppetclass => puppetclasses(:one))
|
Also available in: Unified diff
Fixes #10731 - Allow matches to merge with default values