Revision 35c14172
Added by Ivan Necas over 7 years ago
test/controllers/api/v2/reports_controller_test.rb | ||
---|---|---|
require 'controllers/shared/report_host_permissions_test'
|
||
|
||
class Api::V2::ReportsControllerTest < ActionController::TestCase
|
||
include ForemanTasks::TestHelpers::WithInThreadExecutor
|
||
include ::ReportHostPermissionsTest
|
||
|
||
setup do
|
||
... | ... | |
def test_create_valid
|
||
User.current=nil
|
||
post :create, {:report => create_a_puppet_transaction_report }, set_session_user
|
||
assert_response :accepted
|
||
assert_response :success
|
||
end
|
||
|
||
def test_create_invalid
|
||
User.current=nil
|
||
post :create, {:report => ["not a hash", "throw an error"] }, set_session_user
|
||
assert_response :accepted
|
||
assert_response :unprocessable_entity
|
||
end
|
||
|
||
def test_create_duplicate
|
||
User.current=nil
|
||
post :create, {:report => create_a_puppet_transaction_report }, set_session_user
|
||
assert_response :accepted
|
||
assert_response :success
|
||
Foreman::Deprecation.expects(:api_deprecation_warning)
|
||
post :create, {:report => create_a_puppet_transaction_report }, set_session_user
|
||
assert_response :accepted
|
||
assert_response :unprocessable_entity
|
||
end
|
||
|
||
test 'when ":restrict_registered_smart_proxies" is false, HTTP requests should be able to create a report' do
|
||
... | ... | |
Resolv.any_instance.stubs(:getnames).returns(['else.where'])
|
||
post :create, {:report => create_a_puppet_transaction_report }
|
||
assert_nil @controller.detected_proxy
|
||
assert_response :accepted
|
||
assert_response :created
|
||
end
|
||
|
||
test 'hosts with a registered smart proxy on should create a report successfully' do
|
||
... | ... | |
Resolv.any_instance.stubs(:getnames).returns([host])
|
||
post :create, {:report => create_a_puppet_transaction_report }
|
||
assert_equal proxy, @controller.detected_proxy
|
||
assert_response :accepted
|
||
assert_response :created
|
||
end
|
||
|
||
test 'hosts without a registered smart proxy on should not be able to create a report' do
|
||
... | ... | |
@request.env['SSL_CLIENT_S_DN'] = 'CN=else.where'
|
||
@request.env['SSL_CLIENT_VERIFY'] = 'SUCCESS'
|
||
post :create, {:report => create_a_puppet_transaction_report }
|
||
assert_response :accepted
|
||
assert_response :created
|
||
end
|
||
|
||
test 'hosts without a registered smart proxy but with an SSL cert should not be able to create a report' do
|
||
... | ... | |
|
||
Resolv.any_instance.stubs(:getnames).returns(['else.where'])
|
||
post :create, {:report => create_a_puppet_transaction_report }
|
||
assert_response :accepted
|
||
assert_response :created
|
||
end
|
||
end
|
||
|
Also available in: Unified diff
Refs #15779 - make background processing unavailable for now (#4217)
The original PR got vetted in the packaging phase and including
foreman-task as dependency of Foreman was refused. We need to rethink
our approach for getting the foreman-tasks functionality available
inside the core and take less obtrusive approach by making the
transition in several steps, until the foreman core will get on
future-parity with foreman-tasks which would effectively mean tasks in
core.
To clean the tasks that were created while using the original changes,
you can run:
This reverts commits