X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/aea8c62eaec4d170842b01e0fd1ddb5e256152b8..2d56bd2e4722e9c664f7605b3a46b505a30782db:/services/api/test/functional/arvados/v1/job_reuse_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/job_reuse_controller_test.rb b/services/api/test/functional/arvados/v1/job_reuse_controller_test.rb index a3eebf3ed2..1dd620a68c 100644 --- a/services/api/test/functional/arvados/v1/job_reuse_controller_test.rb +++ b/services/api/test/functional/arvados/v1/job_reuse_controller_test.rb @@ -17,7 +17,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase no_reuse: false, script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -35,7 +35,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -55,7 +55,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "tag1", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -76,7 +76,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase no_reuse: true, script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -90,24 +90,26 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase assert_equal '4fe459abe02d9b365932b8f5dc419439ab4e2577', new_job['script_version'] end - test "do not reuse job because find_or_create=false" do - post :create, { - job: { - script: "hash", - script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", - script_parameters: { - input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', - an_integer: '1' - } - }, - find_or_create: false - } - assert_response :success - assert_not_nil assigns(:object) - new_job = JSON.parse(@response.body) - assert_not_equal 'zzzzz-8i9sb-cjs4pklxxjykqqq', new_job['uuid'] - assert_equal '4fe459abe02d9b365932b8f5dc419439ab4e2577', new_job['script_version'] + [false, "false"].each do |whichfalse| + test "do not reuse job because find_or_create=#{whichfalse.inspect}" do + post :create, { + job: { + script: "hash", + script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", + repository: "active/foo", + script_parameters: { + input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', + an_integer: '1' + } + }, + find_or_create: whichfalse + } + assert_response :success + assert_not_nil assigns(:object) + new_job = JSON.parse(@response.body) + assert_not_equal 'zzzzz-8i9sb-cjs4pklxxjykqqq', new_job['uuid'] + assert_equal '4fe459abe02d9b365932b8f5dc419439ab4e2577', new_job['script_version'] + end end test "do not reuse job because output is not readable by user" do @@ -116,7 +118,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -136,7 +138,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase no_reuse: false, script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '2' @@ -154,7 +156,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase script: "hash", minimum_script_version: "tag1", script_version: "master", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -172,7 +174,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase no_reuse: false, script: "hash", script_version: "master", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -190,7 +192,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase no_reuse: false, script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '2' @@ -208,7 +210,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase no_reuse: false, script: "hash", script_version: "master", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '2' @@ -226,7 +228,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase no_reuse: false, script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -245,7 +247,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase no_reuse: false, script: "hash2", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -264,7 +266,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase no_reuse: false, script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -283,7 +285,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase script: "hash", minimum_script_version: "31ce37fe365b3dc204300a3e4c396ad333ed0556", script_version: "master", - repository: "foo", + repository: "active/foo", exclude_script_versions: ["tag1"], script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', @@ -303,7 +305,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "master", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -322,7 +324,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase end BASE_FILTERS = { - 'repository' => ['=', 'foo'], + 'repository' => ['=', 'active/foo'], 'script' => ['=', 'hash'], 'script_version' => ['in git', 'master'], 'docker_image_locator' => ['=', nil], @@ -340,7 +342,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "master", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -366,7 +368,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "master", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -389,7 +391,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -410,7 +412,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -440,7 +442,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -468,7 +470,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -493,7 +495,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -515,7 +517,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase job: { script: "hash", script_version: "master", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1' @@ -530,7 +532,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase end test "find Job with script version range" do - get :index, filters: [["repository", "=", "foo"], + get :index, filters: [["repository", "=", "active/foo"], ["script", "=", "hash"], ["script_version", "in git", "tag1"]] assert_response :success @@ -540,7 +542,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase end test "find Job with script version range exclusions" do - get :index, filters: [["repository", "=", "foo"], + get :index, filters: [["repository", "=", "active/foo"], ["script", "=", "hash"], ["script_version", "not in git", "tag1"]] assert_response :success @@ -605,7 +607,7 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase params[:job] = { script: "hash", script_version: "4fe459abe02d9b365932b8f5dc419439ab4e2577", - repository: "foo", + repository: "active/foo", script_parameters: { input: 'fa7aeb5140e2848d39b416daeef4ffc5+45', an_integer: '1', @@ -671,7 +673,10 @@ class Arvados::V1::JobReuseControllerTest < ActionController::TestCase test "can't reuse job with older Arvados SDK version" do params = { script_version: "31ce37fe365b3dc204300a3e4c396ad333ed0556", - runtime_constraints: {"arvados_sdk_version" => "master"}, + runtime_constraints: { + "arvados_sdk_version" => "master", + "docker_image" => links(:docker_image_collection_tag).name, + }, } check_new_job_created_from(job: params) end