From f934654544e84d8e9b4a3ac30c95739572ccd7df Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Tue, 19 Dec 2017 08:24:07 +0000
Subject: [PATCH] SSDM-5773: bug fixed: wrong UserFailureException class used.
 New system test

SVN: 39057
---
 .../entity/DeleteEntityTypeExecutor.java      |  2 +-
 .../asapi/v3/DeleteEntityTypeTest.java        | 65 ++++++++++++-------
 2 files changed, 44 insertions(+), 23 deletions(-)

diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/DeleteEntityTypeExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/DeleteEntityTypeExecutor.java
index 06dbb535658..896510f2dcd 100644
--- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/DeleteEntityTypeExecutor.java
+++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/DeleteEntityTypeExecutor.java
@@ -35,7 +35,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.experiment.IExperime
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.material.IMaterialTypeAuthorizationExecutor;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.sample.ISampleTypeAuthorizationExecutor;
 import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.entity.EntityKindConverter;
-import ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureException;
+import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind;
 
diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteEntityTypeTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteEntityTypeTest.java
index 907c96e1f6b..00a8098b151 100644
--- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteEntityTypeTest.java
+++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteEntityTypeTest.java
@@ -43,8 +43,6 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.search.SampleTypeSearchCr
 import ch.systemsx.cisd.common.action.IDelegatedAction;
 
 /**
- * 
- *
  * @author Franz-Josef Elmer
  */
 public class DeleteEntityTypeTest extends AbstractTest
@@ -69,45 +67,68 @@ public class DeleteEntityTypeTest extends AbstractTest
         entityTypeIds.addAll(v3api.createSampleTypes(sessionToken, Arrays.asList(sampleTypeCreation)));
         EntityTypeDeletionOptions deletionOptions = new EntityTypeDeletionOptions();
         deletionOptions.setReason("test");
-        
+
         // When
         v3api.deleteEntityTypes(sessionToken, entityTypeIds, deletionOptions);
-        
+
         // Then
         DataSetTypeSearchCriteria dataSetTypeSearchCriteria = new DataSetTypeSearchCriteria();
         dataSetTypeSearchCriteria.withCode().thatEquals(dataSetTypeCreation.getCode());
         assertEquals(v3api.searchDataSetTypes(sessionToken, dataSetTypeSearchCriteria, new DataSetTypeFetchOptions()).getObjects().toString(), "[]");
         ExperimentTypeSearchCriteria experimentTypeSearchCriteria = new ExperimentTypeSearchCriteria();
         experimentTypeSearchCriteria.withCode().thatEquals(experimentTypeCreation.getCode());
-        assertEquals(v3api.searchExperimentTypes(sessionToken, experimentTypeSearchCriteria, new ExperimentTypeFetchOptions()).getObjects().toString(), "[]");
+        assertEquals(
+                v3api.searchExperimentTypes(sessionToken, experimentTypeSearchCriteria, new ExperimentTypeFetchOptions()).getObjects().toString(),
+                "[]");
         MaterialTypeSearchCriteria materialTypeSearchCriteria = new MaterialTypeSearchCriteria();
         materialTypeSearchCriteria.withCode().thatEquals(materialTypeCreation.getCode());
-        assertEquals(v3api.searchMaterialTypes(sessionToken, materialTypeSearchCriteria, new MaterialTypeFetchOptions()).getObjects().toString(), "[]");
+        assertEquals(v3api.searchMaterialTypes(sessionToken, materialTypeSearchCriteria, new MaterialTypeFetchOptions()).getObjects().toString(),
+                "[]");
         SampleTypeSearchCriteria sampleTypeSearchCriteria = new SampleTypeSearchCriteria();
         sampleTypeSearchCriteria.withCode().thatEquals(sampleTypeCreation.getCode());
         assertEquals(v3api.searchSampleTypes(sessionToken, sampleTypeSearchCriteria, new SampleTypeFetchOptions()).getObjects().toString(), "[]");
     }
-    
+
+    @Test
+    public void testDeleteWithUnspecifiedEntityKind()
+    {
+        EntityTypePermId typeId = new EntityTypePermId("DELETION_TEST");
+        assertUserFailureException(new IDelegatedAction()
+            {
+                @Override
+                public void execute()
+                {
+                    // Given
+                    String sessionToken = v3api.login(TEST_USER, PASSWORD);
+                    EntityTypeDeletionOptions deletionOptions = new EntityTypeDeletionOptions();
+                    deletionOptions.setReason("test");
+
+                    // When
+                    v3api.deleteEntityTypes(sessionToken, Arrays.asList(typeId), deletionOptions);
+                }
+            }, "Entity type id with unspecified entity kind");
+    }
+
     @Test(dataProvider = "usersNotAllowedToDelete")
     public void testDeleteWithUserCausingAuthorizationFailure(EntityKind entityKind, final String user)
     {
         EntityTypePermId typeId = new EntityTypePermId("DELETION_TEST", entityKind);
         assertUnauthorizedObjectAccessException(new IDelegatedAction()
-        {
-            @Override
-            public void execute()
             {
-                // Given
-                String sessionToken = v3api.login(user, PASSWORD);
-                EntityTypeDeletionOptions deletionOptions = new EntityTypeDeletionOptions();
-                deletionOptions.setReason("test");
-                
-                // When
-                v3api.deleteEntityTypes(sessionToken, Arrays.asList(typeId), deletionOptions);
-            }
-        }, typeId);
+                @Override
+                public void execute()
+                {
+                    // Given
+                    String sessionToken = v3api.login(user, PASSWORD);
+                    EntityTypeDeletionOptions deletionOptions = new EntityTypeDeletionOptions();
+                    deletionOptions.setReason("test");
+
+                    // When
+                    v3api.deleteEntityTypes(sessionToken, Arrays.asList(typeId), deletionOptions);
+                }
+            }, typeId);
     }
-    
+
     @DataProvider
     Object[][] usersNotAllowedToDelete()
     {
@@ -119,8 +140,8 @@ public class DeleteEntityTypeTest extends AbstractTest
         {
             for (int j = 0; j < users.size(); j++)
             {
-                
-                objects[users.size() * i + j] = new Object[] {entityKinds[i], users.get(j)};
+
+                objects[users.size() * i + j] = new Object[] { entityKinds[i], users.get(j) };
             }
         }
         return objects;
-- 
GitLab