From f4cde5752b9e430255cbdb9de7fa9a3d3eb52815 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Fri, 10 Dec 2021 01:12:01 +0100 Subject: [PATCH] TST: fix integration tests --- .../jobs/core/CheckDatatypePresent.java | 9 +++++--- .../server/jobs/core/CheckParValid.java | 21 +++++++++---------- .../server/jobs/core/CheckPropValid.java | 11 ++-------- .../server/jobs/core/CheckRefidValid.java | 11 +++++----- 4 files changed, 24 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java index 9ea7d4b3..dd87d529 100644 --- a/src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java +++ b/src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java @@ -23,6 +23,7 @@ package org.caosdb.server.jobs.core; import java.util.List; +import org.apache.shiro.authz.AuthorizationException; import org.caosdb.server.database.exceptions.EntityDoesNotExistException; import org.caosdb.server.database.exceptions.EntityWasNotUniqueException; import org.caosdb.server.datatype.AbstractCollectionDatatype; @@ -97,13 +98,15 @@ public final class CheckDatatypePresent extends EntityJob { // finally, no data type throw ServerMessages.PROPERTY_HAS_NO_DATATYPE; } - } catch (final Message m) { if (m == ServerMessages.ENTITY_DOES_NOT_EXIST) { getEntity().addError(ServerMessages.UNKNOWN_DATATYPE); } else { getEntity().addError(m); } + } catch (AuthorizationException exc) { + getEntity().addError(ServerMessages.AUTHORIZATION_ERROR); + getEntity().addInfo(exc.getMessage()); } catch (final EntityDoesNotExistException exc) { getEntity().addError(ServerMessages.UNKNOWN_DATATYPE); } catch (final EntityWasNotUniqueException exc) { @@ -152,8 +155,8 @@ public final class CheckDatatypePresent extends EntityJob { } } - private void assertAllowedToUse(final EntityInterface datatype) throws Message { - checkPermission(datatype, EntityPermission.USE_AS_DATA_TYPE); + private void assertAllowedToUse(final EntityInterface datatype) { + datatype.checkPermission(EntityPermission.USE_AS_DATA_TYPE); } private void checkIfOverride() throws Message { diff --git a/src/main/java/org/caosdb/server/jobs/core/CheckParValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckParValid.java index 4e6b097e..d3b28bd5 100644 --- a/src/main/java/org/caosdb/server/jobs/core/CheckParValid.java +++ b/src/main/java/org/caosdb/server/jobs/core/CheckParValid.java @@ -23,6 +23,7 @@ package org.caosdb.server.jobs.core; import com.google.common.base.Objects; +import org.apache.shiro.authz.AuthorizationException; import org.caosdb.server.database.exceptions.EntityDoesNotExistException; import org.caosdb.server.database.exceptions.EntityWasNotUniqueException; import org.caosdb.server.entity.Affiliation; @@ -118,13 +119,16 @@ public class CheckParValid extends EntityJob { } } - addError(parent, ServerMessages.ENTITY_DOES_NOT_EXIST); + parent.addError(ServerMessages.ENTITY_DOES_NOT_EXIST); } catch (final Message m) { - addError(parent, m); + parent.addError(m); + } catch (AuthorizationException e) { + parent.addError(ServerMessages.AUTHORIZATION_ERROR); + parent.addInfo(e.getMessage()); } catch (final EntityDoesNotExistException exc) { - addError(parent, ServerMessages.ENTITY_DOES_NOT_EXIST); + parent.addError(ServerMessages.ENTITY_DOES_NOT_EXIST); } catch (final EntityWasNotUniqueException exc) { - addError(parent, ServerMessages.ENTITY_NAME_DUPLICATES); + parent.addError(ServerMessages.ENTITY_NAME_DUPLICATES); } } } @@ -191,12 +195,7 @@ public class CheckParValid extends EntityJob { throw ServerMessages.AFFILIATION_ERROR; } - private void assertAllowedToUse(final EntityInterface entity) throws Message { - checkPermission(entity, EntityPermission.USE_AS_PARENT); - } - - private void addError(final EntityInterface parent, final Message m) { - parent.addError(m); - parent.setEntityStatus(EntityStatus.UNQUALIFIED); + private void assertAllowedToUse(final EntityInterface entity) { + entity.checkPermission(EntityPermission.USE_AS_PARENT); } } diff --git a/src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java index 112692c8..eeea52b8 100644 --- a/src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java +++ b/src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java @@ -138,17 +138,10 @@ public class CheckPropValid extends EntityJob { // process names appendJob(ProcessNameProperties.class); - // final ProcessNameProperties processNameProperties = new - // ProcessNameProperties(); - // processNameProperties.init(getMode(), getEntity(), getContainer(), - // getTransaction()); - // getTransaction().getSchedule().add(processNameProperties); - // getTransaction().getSchedule().runJob(processNameProperties); - } - private void assertAllowedToUse(final EntityInterface property) throws Message { - checkPermission(property, EntityPermission.USE_AS_PROPERTY); + private void assertAllowedToUse(final EntityInterface property) { + property.checkPermission(EntityPermission.USE_AS_PROPERTY); } private static void deriveOverrideStatus(final Property child, final EntityInterface parent) { diff --git a/src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java index f19424b1..645f87d0 100644 --- a/src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java +++ b/src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java @@ -24,6 +24,7 @@ */ package org.caosdb.server.jobs.core; +import org.apache.shiro.authz.AuthorizationException; import org.caosdb.server.database.exceptions.EntityDoesNotExistException; import org.caosdb.server.database.exceptions.EntityWasNotUniqueException; import org.caosdb.server.datatype.CollectionValue; @@ -71,13 +72,13 @@ public class CheckRefidValid extends EntityJob implements Observer { } } catch (final Message m) { getEntity().addError(m); - getEntity().setEntityStatus(EntityStatus.UNQUALIFIED); + } catch (AuthorizationException exc) { + getEntity().addError(ServerMessages.AUTHORIZATION_ERROR); + getEntity().addInfo(exc.getMessage()); } catch (final EntityDoesNotExistException e) { getEntity().addError(ServerMessages.REFERENCED_ENTITY_DOES_NOT_EXIST); - getEntity().setEntityStatus(EntityStatus.UNQUALIFIED); } catch (final EntityWasNotUniqueException e) { getEntity().addError(ServerMessages.REFERENCE_NAME_DUPLICATES); - getEntity().setEntityStatus(EntityStatus.UNQUALIFIED); } } @@ -139,8 +140,8 @@ public class CheckRefidValid extends EntityJob implements Observer { } } - private void assertAllowedToUse(final EntityInterface referencedEntity) throws Message { - checkPermission(referencedEntity, EntityPermission.USE_AS_REFERENCE); + private void assertAllowedToUse(final EntityInterface referencedEntity) { + referencedEntity.checkPermission(EntityPermission.USE_AS_REFERENCE); } @Override -- GitLab