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