18691: Test moving items into/out of frozen project.
authorTom Clegg <tom@curii.com>
Thu, 3 Mar 2022 18:09:34 +0000 (13:09 -0500)
committerTom Clegg <tom@curii.com>
Thu, 3 Mar 2022 18:09:34 +0000 (13:09 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

services/api/test/unit/group_test.rb

index ff079e1b544048eed2f1aede80dd87388506c53b..bbb0f195773a59e887ddd0f1405f289f02406463 100644 (file)
@@ -404,19 +404,29 @@ update links set tail_uuid='#{g5}' where uuid='#{l1.uuid}'
         cr.destroy
       end
 
-      # Once project is frozen, cannot change name/contents, trash, or
-      # delete the project or anything beneath it
+      # Once project is frozen, cannot change name/contents, move,
+      # trash, or delete the project or anything beneath it
       [proj, proj_inner, coll].each do |frozen|
         assert_raises(StandardError, "should reject rename of #{frozen.uuid} with parent #{frozen.owner_uuid}") do
           frozen.update_attributes!(name: 'foo2')
         end
         frozen.reload
+
         if frozen.is_a?(Collection)
           assert_raises(StandardError, "should reject manifest change of #{frozen.uuid}") do
             frozen.update_attributes!(manifest_text: ". d41d8cd98f00b204e9800998ecf8427e+0 0:0:foo\n")
           end
-          frozen.reload
+        else
+          assert_raises(StandardError, "should reject moving a project into #{frozen.uuid}") do
+            groups(:private).update_attributes!(owner_uuid: frozen.uuid)
+          end
+        end
+        frozen.reload
+
+        assert_raises(StandardError, "should reject moving #{frozen.uuid} to a different parent project") do
+          frozen.update_attributes!(owner_uuid: groups(:private).uuid)
         end
+        frozen.reload
         assert_raises(StandardError, "should reject setting trash_at of #{frozen.uuid}") do
           frozen.update_attributes!(trash_at: db_current_time)
         end