X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/eb7227693e8847a65798afa7f7e8a4ffe8a199a4..620a10bed55b85294baad9dba965ea8dad59e884:/services/api/test/functional/arvados/v1/links_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/links_controller_test.rb b/services/api/test/functional/arvados/v1/links_controller_test.rb index 4726e0119a..dfce78b13f 100644 --- a/services/api/test/functional/arvados/v1/links_controller_test.rb +++ b/services/api/test/functional/arvados/v1/links_controller_test.rb @@ -20,7 +20,7 @@ class Arvados::V1::LinksControllerTest < ActionController::TestCase end end - %w(created_at updated_at modified_at).each do |attr| + %w(created_at modified_at).each do |attr| {nil: nil, bogus: 2.days.ago}.each do |bogustype, bogusvalue| test "cannot set #{bogustype} #{attr} in create" do authorize_with :active @@ -240,4 +240,47 @@ class Arvados::V1::LinksControllerTest < ActionController::TestCase assert_response 422 end + test "test with virtual_machine" do + link = { + tail_kind: "arvados#user", + tail_uuid: users(:active).uuid, + head_kind: "arvados#virtual_machine", + head_uuid: virtual_machines(:testvm).uuid, + link_class: "permission", + name: "can_login", + properties: {username: "repo_and_user_name"} + } + authorize_with :admin + post :create, link: link + assert_response 422 + end + + test "test with virtualMachine" do + link = { + tail_kind: "arvados#user", + tail_uuid: users(:active).uuid, + head_kind: "arvados#virtualMachine", + head_uuid: virtual_machines(:testvm).uuid, + link_class: "permission", + name: "can_login", + properties: {username: "repo_and_user_name"} + } + authorize_with :admin + post :create, link: link + assert_response :success + end + + test "refuse duplicate name" do + the_name = links(:job_name_in_afolder).name + the_folder = links(:job_name_in_afolder).tail_uuid + authorize_with :active + post :create, link: { + tail_uuid: the_folder, + head_uuid: specimens(:owned_by_active_user).uuid, + link_class: 'name', + name: the_name, + properties: {this_s: "a duplicate name"} + } + assert_response 422 + end end