Project

General

Profile

« Previous | Next » 

Revision 0b22ca40

Added by Ondřej Pražák over 7 years ago

Fixes #7495 - Create/delete autosign entries via API

View differences:

test/controllers/api/v2/autosign_controller_test.rb
class Api::V2::AutosignControllerTest < ActionController::TestCase
setup do
ProxyAPI::Puppetca.any_instance.stubs(:autosign).returns(["a5809524-82fe-a8a4f3d6ebf4", "5eed0cb7-9aa-00b7b9780f20"])
@msg = "Test exception"
@proxy_error = ProxyAPI::ProxyException.new(smart_proxies(:puppetmaster).url, RuntimeError.new, @msg)
end
test "should get index and return json" do
......
results = ActiveSupport::JSON.decode(@response.body)
assert_equal 2, results['results'].length
end
test "should create autosign entry" do
ProxyAPI::Puppetca.any_instance.stubs(:set_autosign).returns(true)
post :create, { :smart_proxy_id => smart_proxies(:puppetmaster).id, :id => "test" }
assert_response :success
response = ActiveSupport::JSON.decode(@response.body)
assert response['results']
end
test "should not create autosign entry" do
ProxyAPI::Puppetca.any_instance.stubs(:set_autosign).raises(@proxy_error)
post :create, { :smart_proxy_id => smart_proxies(:puppetmaster).id, :id => "test" }
assert_response :internal_server_error
response = ActiveSupport::JSON.decode(@response.body)
assert response['error'].match(@msg)
end
test "should delete autosign entry" do
ProxyAPI::Puppetca.any_instance.stubs(:del_autosign).returns(true)
post :destroy, { :smart_proxy_id => smart_proxies(:puppetmaster).id, :id => "test" }
assert_response :success
response = ActiveSupport::JSON.decode(@response.body)
assert response['results']
end
test "should not delete autosign entry" do
ProxyAPI::Puppetca.any_instance.stubs(:del_autosign).raises(@proxy_error)
post :destroy, { :smart_proxy_id => smart_proxies(:puppetmaster).id, :id => "test" }
assert_response :internal_server_error
response = ActiveSupport::JSON.decode(@response.body)
assert response['error'].match(@msg)
end
end

Also available in: Unified diff