X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3657c576451610bc6e7f269cbf4f13cb18ff35ba..94b5a59631f22e4e57561a6244c24b93db77f589:/services/api/test/unit/permission_test.rb diff --git a/services/api/test/unit/permission_test.rb b/services/api/test/unit/permission_test.rb index 748c7907a2..1ea1419147 100644 --- a/services/api/test/unit/permission_test.rb +++ b/services/api/test/unit/permission_test.rb @@ -131,4 +131,35 @@ class PermissionTest < ActiveSupport::TestCase perm_link.save end end + + test "cannot create with owner = unwritable user" do + set_user_from_auth :rominiadmin + assert_raises ArvadosModel::PermissionDeniedError, "created with owner = unwritable user" do + Specimen.create!(owner_uuid: users(:active).uuid) + end + end + + test "cannot change owner to unwritable user" do + set_user_from_auth :rominiadmin + ob = Specimen.create! + assert_raises ArvadosModel::PermissionDeniedError, "changed owner to unwritable user" do + ob.update_attributes!(owner_uuid: users(:active).uuid) + end + end + + test "cannot create with owner = unwritable group" do + set_user_from_auth :rominiadmin + assert_raises ArvadosModel::PermissionDeniedError, "created with owner = unwritable group" do + Specimen.create!(owner_uuid: groups(:aproject).uuid) + end + end + + test "cannot change owner to unwritable group" do + set_user_from_auth :rominiadmin + ob = Specimen.create! + assert_raises ArvadosModel::PermissionDeniedError, "changed owner to unwritable group" do + ob.update_attributes!(owner_uuid: groups(:aproject).uuid) + end + end + end