18691: Test freeze requires manage permission.
authorTom Clegg <tom@curii.com>
Thu, 3 Mar 2022 16:26:07 +0000 (11:26 -0500)
committerTom Clegg <tom@curii.com>
Thu, 3 Mar 2022 16:34:34 +0000 (11:34 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

services/api/test/unit/group_test.rb

index d71a0b5f983ca5dccaa7a5142a6b5bea770e65c5..513c1dae66bbdfa2dedf208b984e6f59ae079105 100644 (file)
@@ -327,6 +327,19 @@ update links set tail_uuid='#{g5}' where uuid='#{l1.uuid}'
       end
       proj.reload
 
+      # Cannot set frozen_by_uuid without can_manage permission
+      act_as_system_user do
+        Link.create!(link_class: 'permission', name: 'can_write', tail_uuid: users(:spectator).uuid, head_uuid: proj.uuid)
+      end
+      act_as_user users(:spectator) do
+        # First confirm we have write permission
+        assert Collection.create(name: 'bar', owner_uuid: proj.uuid)
+        assert_raises(ArvadosModel::PermissionDeniedError) do
+          proj.update_attributes!(frozen_by_uuid: users(:spectator).uuid)
+        end
+      end
+      proj.reload
+
       # Cannot set frozen_by_uuid without description (if so configured)
       Rails.configuration.API.FreezeProjectRequiresDescription = true
       err = assert_raises do