Project

General

Profile

« Previous | Next » 

Revision 3e5ee0a6

Added by Dominic Cleal about 10 years ago

fixes #5246 - remove second host/class lookup impl so config groups are included in ENC output

(cherry picked from commit 46b3d8f1f5dff70b961266232f0041beabea8e0d)

View differences:

test/unit/classification_test.rb
key.reload
assert_equal value.value, enc['base']['cluster']
end
test "#classes is delegated to the host" do
pc = FactoryGirl.build(:puppetclass)
host = FactoryGirl.build(:host)
host.expects(:classes).returns([pc])
assert_equal [pc], Classification::ClassParam.new(:host => host).classes
end
test "#puppetclass_ids is delegated to the host" do
pc = FactoryGirl.build(:puppetclass)
host = FactoryGirl.build(:host)
host.expects(:puppetclass_ids).returns([pc.id])
assert_equal [pc.id], Classification::ClassParam.new(:host => host).puppetclass_ids
end
test "#enc should return hash of class to nil for classes without parameters" do
env = FactoryGirl.create(:environment)
pc = FactoryGirl.create(:puppetclass, :environments => [env])
assert_equal({pc.name => nil}, get_classparam(env, pc).enc)
end
test "#enc should not return class parameters where override is false" do
env = FactoryGirl.create(:environment)
pc = FactoryGirl.create(:puppetclass, :with_parameters, :environments => [env])
refute pc.class_params.first.override
assert_equal({pc.name => nil}, get_classparam(env, pc).enc)
end
test "#enc should return default value of class parameters without lookup_values" do
env = FactoryGirl.create(:environment)
pc = FactoryGirl.create(:puppetclass, :environments => [env])
lkey = FactoryGirl.create(:lookup_key, :as_smart_class_param, :puppetclass => pc, :override => true, :default_value => 'test')
assert_equal({pc.name => {lkey.key => lkey.default_value}}, get_classparam(env, pc).enc)
end
test "#enc should return override value of class parameters" do
env = FactoryGirl.create(:environment)
pc = FactoryGirl.create(:puppetclass, :environments => [env])
lkey = FactoryGirl.create(:lookup_key, :as_smart_class_param, :with_override, :puppetclass => pc)
classparam = get_classparam(env, pc)
classparam.expects(:attr_to_value).with('comment').returns('override')
assert_equal({pc.name => {lkey.key => 'overridden value'}}, classparam.enc)
end
private
attr_reader :classification
def get_classparam(env, classes)
classification = Classification::ClassParam.new
classification.expects(:classes).returns(Array.wrap(classes))
classification.expects(:environment_id).returns(env.id)
classification.expects(:puppetclass_ids).returns(Array.wrap(classes).map(&:id))
classification
end
end

Also available in: Unified diff