X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f580cf6d3d86f6591e68b4501279fc45cbf847e0..2f91702d89b7a64093465a1923b87acade6b9715:/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 09dd1621d6..3372590596 100644 --- a/services/api/test/functional/arvados/v1/links_controller_test.rb +++ b/services/api/test/functional/arvados/v1/links_controller_test.rb @@ -175,5 +175,62 @@ class Arvados::V1::LinksControllerTest < ActionController::TestCase assert_equal found.count, (found.select { |f| f.head_uuid.match /[a-z0-9]{5}-tpzed-[a-z0-9]{15}/}).count end + test "head_kind matches head_uuid" do + link = { + link_class: 'test', + name: 'stuff', + head_uuid: groups(:public).uuid, + head_kind: "arvados#user", + tail_uuid: users(:spectator).uuid, + tail_kind: "arvados#user", + } + authorize_with :admin + post :create, link: link + assert_response 422 + end + + test "tail_kind matches tail_uuid" do + link = { + link_class: 'test', + name: 'stuff', + head_uuid: users(:active).uuid, + head_kind: "arvados#user", + tail_uuid: groups(:public).uuid, + tail_kind: "arvados#user", + } + authorize_with :admin + post :create, link: link + 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 end