Sha256: 29f73d0f354803988fc8bcf011d1fe381a0f094619a9319c342a2b142d3a366c
Contents?: true
Size: 1.83 KB
Versions: 3
Compression:
Stored size: 1.83 KB
Contents
require 'foreman_tasks_test_helper' module ForemanTasks class Api::TasksControllerTest < ActionController::TestCase describe 'tasks api controller' do tests ForemanTasks::Api::TasksController before do User.current = User.where(:login => 'apiadmin').first @request.env['HTTP_ACCEPT'] = 'application/json' @request.env['CONTENT_TYPE'] = 'application/json' end describe 'GET /api/tasks/show' do it 'searches for task' do task = FactoryBot.create(:dynflow_task, :user_create_task) get :show, params: { :id => task.id } assert_response :success assert_template 'api/tasks/show' end end describe 'POST /tasks/callback' do it 'passes the data to the corresponding action' do Support::DummyProxyAction.reset triggered = ForemanTasks.trigger(Support::DummyProxyAction, Support::DummyProxyAction.proxy, 'Proxy::DummyAction', 'foo' => 'bar') Support::DummyProxyAction.proxy.task_triggered.wait(5) task = ForemanTasks::Task.where(:external_id => triggered.id).first task.state.must_equal 'running' task.result.must_equal 'pending' callback = Support::DummyProxyAction.proxy.log[:trigger_task].first[1][:callback] post :callback, params: { 'callback' => callback, 'data' => { 'result' => 'success' } } triggered.finished.wait(5) task.reload task.state.must_equal 'stopped' task.result.must_equal 'success' task.main_action.output['proxy_task_id'].must_equal '123' task.main_action.output['proxy_output'].must_equal('result' => 'success') end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems