X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/fad046d56740092b1483cb646d2f7c92c544c165..3598c3003a7987cca5c0536ba8206ec40c1c3649:/services/api/test/unit/link_test.rb diff --git a/services/api/test/unit/link_test.rb b/services/api/test/unit/link_test.rb index 640b26c64d..16ce54bbe0 100644 --- a/services/api/test/unit/link_test.rb +++ b/services/api/test/unit/link_test.rb @@ -7,48 +7,6 @@ class LinkTest < ActiveSupport::TestCase set_user_from_auth :admin_trustedclient end - test 'name links with the same tail_uuid must be unique' do - a = Link.create!(tail_uuid: groups(:aproject).uuid, - head_uuid: specimens(:owned_by_active_user).uuid, - link_class: 'name', - name: 'foo') - assert a.valid?, a.errors.to_s - assert_equal groups(:aproject).uuid, a.owner_uuid - assert_raises ActiveRecord::RecordNotUnique do - b = Link.create!(tail_uuid: groups(:aproject).uuid, - head_uuid: specimens(:owned_by_active_user).uuid, - link_class: 'name', - name: 'foo') - end - end - - test 'name links with different tail_uuid need not be unique' do - a = Link.create!(tail_uuid: groups(:aproject).uuid, - head_uuid: specimens(:owned_by_active_user).uuid, - link_class: 'name', - name: 'foo') - assert a.valid?, a.errors.to_s - assert_equal groups(:aproject).uuid, a.owner_uuid - b = Link.create!(tail_uuid: groups(:asubproject).uuid, - head_uuid: specimens(:owned_by_active_user).uuid, - link_class: 'name', - name: 'foo') - assert b.valid?, b.errors.to_s - assert_equal groups(:asubproject).uuid, b.owner_uuid - assert_not_equal(a.uuid, b.uuid, - "created two links and got the same uuid back.") - end - - [nil, '', false].each do |name| - test "name links cannot have name=#{name.inspect}" do - a = Link.create(tail_uuid: groups(:aproject).uuid, - head_uuid: specimens(:owned_by_active_user).uuid, - link_class: 'name', - name: name) - assert a.invalid?, "invalid name was accepted as valid?" - end - end - test "cannot delete an object referenced by links" do ob = Specimen.create link = Link.create(tail_uuid: users(:active).uuid, @@ -76,6 +34,11 @@ class LinkTest < ActiveSupport::TestCase end end + test "non-admin project owner can make it public" do + assert(new_active_link_valid?(tail_uuid: groups(:anonymous_group).uuid), + "non-admin project owner can't make their project public") + end + test "link granting permission to nonexistent user is invalid" do refute new_active_link_valid?(tail_uuid: users(:active).uuid.sub(/-\w+$/, "-#{'z' * 15}")) @@ -100,7 +63,7 @@ class LinkTest < ActiveSupport::TestCase tail_uuid: users(:admin).uuid) end - test "link granting project permissions to unreadable user is valid" do - assert new_active_link_valid?(tail_uuid: users(:admin).uuid) + test "link granting project permissions to unreadable user is invalid" do + refute new_active_link_valid?(tail_uuid: users(:admin).uuid) end end