Project

General

Profile

« Previous | Next » 

Revision 0572c97e

Added by Oleg Dovzhenko about 6 years ago

Fixes #23609 - Port robottelo tests for classparameters

View differences:

test/controllers/api/v2/override_values_controller_test.rb
assert_response :success
end
test_attributes :pid => '2b205e9c-e50c-48cd-8ebb-3b6bea09be77'
test "should create override value without when omit is true" do
value = RFauxFactory.gen_alpha
lookup_key = FactoryBot.create(:puppetclass_lookup_key, :as_smart_class_param, :override => true, :puppetclass => puppetclasses(:two))
assert_difference('LookupValue.count', 1) do
post :create, params: { :smart_class_parameter_id => lookup_key.id, :override_value => { :match => 'os=string', :omit => true} }
post :create, params: { :smart_class_parameter_id => lookup_key.id, :override_value => { :match => 'os=string', :value => value, :omit => true} }
end
assert_response :success
lookup_key = LookupKey.unscoped.find_by_id(lookup_key.id)
assert_equal lookup_key.override_values.first.match, 'os=string'
assert_equal lookup_key.override_values.first.value, value
assert_equal lookup_key.override_values.first.omit, true
end
test "should create override value without when use_puppet_default is true (compatibility test)" do
......
assert_response :error
end
test_attributes :pid => 'bef0e457-16be-4ca6-bc56-fa32dff55a01'
test "should not create invalid matcher for non existing attribute" do
assert_difference('LookupValue.count', 0) do
post :create, params: { :smart_class_parameter_id => lookup_keys(:one).id, :override_value => { :match => 'hostgroup=nonexistingHG', :value => RFauxFactory.gen_alpha } }
end
assert_includes JSON.parse(response.body)['error']['message'], 'Validation failed: Match hostgroup=nonexistingHG does not match an existing host group'
end
test_attributes :pid => '49de2c9b-40f1-4837-8ebb-dfa40d8fcb89'
test "should not create matcher with blank matcher value" do
lookup_key = FactoryBot.create(:puppetclass_lookup_key, :as_smart_class_param, :override => true, :required => true, :puppetclass => puppetclasses(:two))
assert_difference('LookupValue.count', 0) do
post :create, params: { :smart_class_parameter_id => lookup_key.id, :override_value => { :match => 'domain=example.com', :value => '' } }
end
assert_includes JSON.parse(response.body)['error']['message'], "Validation failed: Value can't be blank"
end
test_attributes :pid => '21668ef4-1a7a-41cb-98e3-dc4c664db351'
test "should not create matcher with value that does not matches default type" do
lookup_key = FactoryBot.create(:puppetclass_lookup_key, :as_smart_class_param, :override => true, :default_value => true, :parameter_type => 'boolean', :puppetclass => puppetclasses(:two))
assert_difference('LookupValue.count', 0) do
post :create, params: { :smart_class_parameter_id => lookup_key.id, :override_value => { :match => 'domain=example.com', :value => RFauxFactory.gen_alpha } }
end
assert_includes JSON.parse(response.body)['error']['message'], 'Validation failed: Value is invalid'
end
test_attributes :pid => '19d319e6-9b12-485e-a680-c84d18742c40'
test "should create matcher for attribute in parameter" do
value = RFauxFactory.gen_alpha
lookup_key = FactoryBot.create(:puppetclass_lookup_key, :as_smart_class_param, :override => true, :default_value => RFauxFactory.gen_alpha, :override_value_order => 'is_virtual', :puppetclass => puppetclasses(:two))
assert_difference('LookupValue.count') do
post :create, params: { :smart_class_parameter_id => lookup_key.id, :override_value => { :match => 'is_virtual=true', :value => value } }
end
lookup_key = LookupKey.unscoped.find_by_id(lookup_key.id)
assert_equal lookup_key.override_values.first.match, 'is_virtual=true'
assert_equal lookup_key.override_values.first.value, value
end
context 'hidden' do
test "should show a override value as hidden unless show_hidden is true" do
lookup_key = FactoryBot.create(:puppetclass_lookup_key, :hidden_value => true, :default_value => 'hidden')

Also available in: Unified diff