From 0c20315559661307a3c78b490449cf7efd8ec03a Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Mon, 6 Feb 2017 15:05:46 +0000
Subject: [PATCH] SSDM-4686 : v3 roles bug - tests for update/delete spaces

SVN: 37695
---
 .../systemtest/asapi/v3/DeleteSpaceTest.java  | 18 ++++++++++++++++++
 .../systemtest/asapi/v3/UpdateSpaceTest.java  | 19 +++++++++++++++++++
 2 files changed, 37 insertions(+)

diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteSpaceTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteSpaceTest.java
index 3adbda70cb8..3b83e98543d 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteSpaceTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteSpaceTest.java
@@ -50,6 +50,24 @@ public class DeleteSpaceTest extends AbstractDeletionTest
         v3api.deleteSpaces(sessionToken, new ArrayList<SpacePermId>(), options);
     }
 
+    @Test
+    public void testDeleteSpaceWithAdminUserInAnotherSpace()
+    {
+        final String sessionToken = v3api.login(TEST_ROLE_V3, PASSWORD);
+
+        final SpaceDeletionOptions options = new SpaceDeletionOptions();
+        options.setReason("It is just a test");
+
+        assertUnauthorizedObjectAccessException(new IDelegatedAction()
+            {
+                @Override
+                public void execute()
+                {
+                    v3api.deleteSpaces(sessionToken, Arrays.asList(new SpacePermId("TEST-SPACE")), options);
+                }
+            }, new SpacePermId("TEST-SPACE"));
+    }
+
     @Test
     public void testDeleteEmptySpace()
     {
diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateSpaceTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateSpaceTest.java
index f198faf16bc..253ded59fb5 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateSpaceTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdateSpaceTest.java
@@ -55,6 +55,25 @@ public class UpdateSpaceTest extends AbstractTest
             }, spaceId);
     }
 
+    @Test
+    public void testUpdateSpaceWithAdminUserInAnotherSpace()
+    {
+        final String sessionToken = v3api.login(TEST_ROLE_V3, PASSWORD);
+        final SpacePermId spaceId = new SpacePermId("TEST-SPACE");
+
+        final SpaceUpdate update = new SpaceUpdate();
+        update.setSpaceId(spaceId);
+
+        assertUnauthorizedObjectAccessException(new IDelegatedAction()
+            {
+                @Override
+                public void execute()
+                {
+                    v3api.updateSpaces(sessionToken, Arrays.asList(update));
+                }
+            }, spaceId);
+    }
+
     @Test
     public void testUpdateWithSpaceNonexistent()
     {
-- 
GitLab