X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7f7cd27d5fc31dc5bbec7f95905fd394a5b317c7..4cacfe7a9566d7ea6f53be24daf83cf9e441aebb:/services/api/test/functional/arvados/v1/pipeline_instances_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/pipeline_instances_controller_test.rb b/services/api/test/functional/arvados/v1/pipeline_instances_controller_test.rb index 63c47ff407..933ce7d9c9 100644 --- a/services/api/test/functional/arvados/v1/pipeline_instances_controller_test.rb +++ b/services/api/test/functional/arvados/v1/pipeline_instances_controller_test.rb @@ -25,4 +25,24 @@ class Arvados::V1::PipelineInstancesControllerTest < ActionController::TestCase assert_equal({}, assigns(:object).components) end + [ + true, + false + ].each do |cascade| + test "cancel a pipeline instance with cascade=#{cascade}" do + authorize_with :active + pi_uuid = pipeline_instances(:job_child_pipeline_with_components_at_level_2).uuid + + post :cancel, {id: pi_uuid, cascade: cascade} + assert_response :success + + pi = PipelineInstance.where(uuid: pi_uuid).first + assert_equal "Paused", pi.state + + children = Job.where(uuid: ['zzzzz-8i9sb-job1atlevel3noc', 'zzzzz-8i9sb-job2atlevel3noc']) + children.each do |child| + assert_equal ("Cancelled" == child.state), cascade + end + end + end end