Revision 9643a2cb
Added by Ori Rabin over 7 years ago
test/controllers/api/v2/smart_class_parameters_controller_test.rb | ||
---|---|---|
get :show, {:id => lookup_keys(:five).id}, set_session_user.merge(:user => users(:one).id)
|
||
assert_response :success
|
||
end
|
||
|
||
context 'hidden' do
|
||
test "should show a smart class parameter as hidden unless show_hidden is true" do
|
||
parameter = FactoryGirl.create(:puppetclass_lookup_key, :hidden_value => true, :default_value => 'hidden')
|
||
FactoryGirl.create(:environment_class, :environment => environments(:testing),:puppetclass => puppetclasses(:one), :puppetclass_lookup_key => parameter)
|
||
get :show, { :id => parameter.id, :puppetclass_id => puppetclasses(:one).id }
|
||
show_response = ActiveSupport::JSON.decode(@response.body)
|
||
assert_equal parameter.hidden_value, show_response['default_value']
|
||
end
|
||
|
||
test "should show a smart class parameter unhidden when show_hidden is true" do
|
||
setup_user "view", "puppetclasses"
|
||
setup_user "view", "external_parameters"
|
||
setup_user "edit", "external_parameters"
|
||
parameter = FactoryGirl.create(:puppetclass_lookup_key, :hidden_value => true, :default_value => 'hidden')
|
||
FactoryGirl.create(:environment_class, :environment => environments(:testing),:puppetclass => puppetclasses(:one), :puppetclass_lookup_key => parameter)
|
||
get :show, { :id => parameter.id, :puppetclass_id => puppetclasses(:one).id, :show_hidden => 'true' }, set_session_user.merge(:user => users(:one).id)
|
||
show_response = ActiveSupport::JSON.decode(@response.body)
|
||
assert_equal parameter.default_value, show_response['default_value']
|
||
end
|
||
|
||
test "should show a smart class parameter parameter as hidden when show_hidden is true if user is not authorized" do
|
||
setup_user "view", "puppetclasses"
|
||
setup_user "view", "external_parameters"
|
||
parameter = FactoryGirl.create(:puppetclass_lookup_key, :hidden_value => true, :default_value => 'hidden')
|
||
FactoryGirl.create(:environment_class, :environment => environments(:testing),:puppetclass => puppetclasses(:one), :puppetclass_lookup_key => parameter)
|
||
get :show, { :id => parameter.id, :puppetclass_id => puppetclasses(:one).id, :show_hidden => 'true' }, set_session_user.merge(:user => users(:one).id)
|
||
show_response = ActiveSupport::JSON.decode(@response.body)
|
||
assert_equal parameter.hidden_value, show_response['default_value']
|
||
end
|
||
|
||
test "should show a smart class parameter's overrides unhidden when show_hidden is true" do
|
||
setup_user "view", "puppetclasses"
|
||
setup_user "view", "external_parameters"
|
||
setup_user "edit", "external_parameters"
|
||
parameter = FactoryGirl.create(:puppetclass_lookup_key, :hidden_value => true, :default_value => 'hidden')
|
||
FactoryGirl.create(:environment_class, :environment => environments(:testing),:puppetclass => puppetclasses(:one), :puppetclass_lookup_key => parameter)
|
||
lookup_value = FactoryGirl.create(:lookup_value, :lookup_key => parameter, :value => 'abc', :match => 'os=fake')
|
||
get :show, { :id => parameter.id, :puppetclass_id => puppetclasses(:one).id, :show_hidden => 'true' }, set_session_user.merge(:user => users(:one).id)
|
||
show_response = ActiveSupport::JSON.decode(@response.body)
|
||
assert_equal lookup_value.value, show_response['override_values'][0]['value']
|
||
end
|
||
|
||
test "should show a smart class parameter's overrides hidden when show_hidden is false" do
|
||
setup_user "view", "puppetclasses"
|
||
setup_user "view", "external_parameters"
|
||
setup_user "edit", "external_parameters"
|
||
parameter = FactoryGirl.create(:puppetclass_lookup_key, :hidden_value => true, :default_value => 'hidden')
|
||
FactoryGirl.create(:environment_class, :environment => environments(:testing),:puppetclass => puppetclasses(:one), :puppetclass_lookup_key => parameter)
|
||
lookup_value = FactoryGirl.create(:lookup_value, :lookup_key => parameter, :value => 'abc', :match => 'os=fake')
|
||
get :show, { :id => parameter.id, :puppetclass_id => puppetclasses(:one).id, :show_hidden => 'false' }, set_session_user.merge(:user => users(:one).id)
|
||
show_response = ActiveSupport::JSON.decode(@response.body)
|
||
assert_equal lookup_value.hidden_value, show_response['override_values'][0]['value']
|
||
end
|
||
end
|
||
end
|
Also available in: Unified diff
Fixes #17653 - Allow all parameters api to unhide values