X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d069de03a99dc58fd38f241435fcbaac84e9f63a..cabf89d1fd8b40a2624d101a95c6587bfdd91fed:/services/api/test/unit/link_test.rb?ds=sidebyside diff --git a/services/api/test/unit/link_test.rb b/services/api/test/unit/link_test.rb index 64c98857ba..c7d21bdc4d 100644 --- a/services/api/test/unit/link_test.rb +++ b/services/api/test/unit/link_test.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' class LinkTest < ActiveSupport::TestCase @@ -54,6 +58,14 @@ class LinkTest < ActiveSupport::TestCase users(:active).uuid.sub(/-\w+$/, "-#{'z' * 15}")) end + test "link granting permission to remote user is valid" do + refute new_active_link_valid?(tail_uuid: + users(:active).uuid.sub(/^\w+-/, "foooo-")) + Rails.configuration.RemoteClusters = Rails.configuration.RemoteClusters.merge({foooo: ActiveSupport::InheritableOptions.new({Host: "bar.com"})}) + assert new_active_link_valid?(tail_uuid: + users(:active).uuid.sub(/^\w+-/, "foooo-")) + end + test "link granting non-project permission to unreadable user is invalid" do refute new_active_link_valid?(tail_uuid: users(:admin).uuid, head_uuid: collections(:bar_file).uuid) @@ -76,4 +88,9 @@ class LinkTest < ActiveSupport::TestCase test "link granting project permissions to unreadable user is invalid" do refute new_active_link_valid?(tail_uuid: users(:admin).uuid) end + + test "permission link can't exist on past collection versions" do + refute new_active_link_valid?(tail_uuid: groups(:public).uuid, + head_uuid: collections(:w_a_z_file_version_1).uuid) + end end