X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8c66c387ddeb1fe5cc19f31fc0e4f24ed778b1f8..cb230b07e0125d819991bc74a1f528740068157d:/services/api/test/functional/arvados/v1/pipeline_instances_controller_test.rb?ds=sidebyside 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 d1e6156632..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 @@ -1,4 +1,48 @@ require 'test_helper' class Arvados::V1::PipelineInstancesControllerTest < ActionController::TestCase + + test 'create pipeline with components copied from template' do + authorize_with :active + post :create, { + pipeline_instance: { + pipeline_template_uuid: pipeline_templates(:two_part).uuid + } + } + assert_response :success + assert_equal(pipeline_templates(:two_part).components.to_json, + assigns(:object).components.to_json) + end + + test 'create pipeline with no template' do + authorize_with :active + post :create, { + pipeline_instance: { + components: {} + } + } + assert_response :success + 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