From 85f3371ad2adc182623c9297acf51df3452973ae Mon Sep 17 00:00:00 2001 From: Lars Johansson <lars.johansson@ess.eu> Date: Thu, 16 Jun 2022 10:46:32 +0200 Subject: [PATCH] Update validation for create names and structures Application will generate uuid. Update validation to not allow value for uuid when create names and structures. Update integration tests. --- .../GlobalControllerExceptionHandler.java | 6 ++- .../exception/InputNotEmptyException.java | 44 +++++++++++++++++++ .../openepics/names/util/ExceptionUtil.java | 38 ++++++++++++++++ .../org/openepics/names/util/TextUtil.java | 5 +++ .../openepics/names/util/ValidateUtil.java | 36 ++++++++++----- .../names/docker/ITUtilNameElement.java | 2 + .../names/docker/StructuresDeviceGroupIT.java | 30 +++++++++++-- .../names/docker/StructuresDeviceTypeIT.java | 16 +++++++ .../names/docker/StructuresDisciplineIT.java | 16 +++++++ .../names/docker/StructuresSubsystemIT.java | 16 +++++++ .../names/docker/StructuresSystemGroupIT.java | 16 +++++++ .../names/docker/StructuresSystemIT.java | 16 +++++++ 12 files changed, 225 insertions(+), 16 deletions(-) create mode 100644 src/main/java/org/openepics/names/service/exception/InputNotEmptyException.java diff --git a/src/main/java/org/openepics/names/rest/controller/GlobalControllerExceptionHandler.java b/src/main/java/org/openepics/names/rest/controller/GlobalControllerExceptionHandler.java index 2e36231f..33014208 100644 --- a/src/main/java/org/openepics/names/rest/controller/GlobalControllerExceptionHandler.java +++ b/src/main/java/org/openepics/names/rest/controller/GlobalControllerExceptionHandler.java @@ -29,6 +29,7 @@ import org.openepics.names.service.exception.DataNotFoundException; import org.openepics.names.service.exception.DataNotValidException; import org.openepics.names.service.exception.InputNotAvailableException; import org.openepics.names.service.exception.InputNotCorrectException; +import org.openepics.names.service.exception.InputNotEmptyException; import org.openepics.names.service.exception.InputNotValidException; import org.openepics.names.service.exception.ServiceException; import org.openepics.names.util.TextUtil; @@ -72,7 +73,10 @@ public class GlobalControllerExceptionHandler extends ResponseEntityExceptionHan response.setField(StringUtils.trimToEmpty(se.getField())); resultStatus = HttpStatus.BAD_REQUEST; - if (ex instanceof InputNotAvailableException || ex instanceof InputNotCorrectException || ex instanceof InputNotValidException) { + if (ex instanceof InputNotAvailableException + || ex instanceof InputNotCorrectException + || ex instanceof InputNotEmptyException + || ex instanceof InputNotValidException) { resultStatus = HttpStatus.UNPROCESSABLE_ENTITY; } diff --git a/src/main/java/org/openepics/names/service/exception/InputNotEmptyException.java b/src/main/java/org/openepics/names/service/exception/InputNotEmptyException.java new file mode 100644 index 00000000..f27e96a8 --- /dev/null +++ b/src/main/java/org/openepics/names/service/exception/InputNotEmptyException.java @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2022 European Spallation Source ERIC. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +package org.openepics.names.service.exception; + +/** + * Exception class to assist in handling of service layer exceptions. + * + * @author Lars Johansson + */ +public class InputNotEmptyException extends ServiceException { + + /** + * + */ + private static final long serialVersionUID = 8537254593583337762L; + + /** + * Public constructor. + * + * @param message message + * @param details details + * @param field field + */ + public InputNotEmptyException(String message, String details, String field) { + super(message, details, field, null); + } + +} diff --git a/src/main/java/org/openepics/names/util/ExceptionUtil.java b/src/main/java/org/openepics/names/util/ExceptionUtil.java index 050ecc00..4f4122e6 100644 --- a/src/main/java/org/openepics/names/util/ExceptionUtil.java +++ b/src/main/java/org/openepics/names/util/ExceptionUtil.java @@ -27,6 +27,7 @@ import org.openepics.names.service.exception.DataNotFoundException; import org.openepics.names.service.exception.DataNotValidException; import org.openepics.names.service.exception.InputNotAvailableException; import org.openepics.names.service.exception.InputNotCorrectException; +import org.openepics.names.service.exception.InputNotEmptyException; import org.openepics.names.service.exception.InputNotValidException; /** @@ -170,6 +171,24 @@ public class ExceptionUtil { } } + /** + * Create input not empty exception. + * Intended for communication inside server. + * Note that message is automatically generated if message is <tt>null</tt> and field <tt>not null</tt>. + * + * @param message message + * @param details details + * @param field field + * @return input not empty exception + */ + public static InputNotEmptyException createInputNotEmptyException(String message, String details, String field) { + if (message == null && field != null) { + return new InputNotEmptyException(TextUtil.VALUE_IS_NOT_EMPTY, details, field); + } else { + return new InputNotEmptyException(message, details, field); + } + } + /** * Create input not valid exception. * Intended for communication inside server. @@ -326,6 +345,25 @@ public class ExceptionUtil { } } + /** + * Validate condition and throw input not empty exception if condition not <tt>true</tt>. + * Note that message is automatically generated if message is <tt>null</tt> and field <tt>not null</tt>. + * + * @param condition condition + * @param message message + * @param details details + * @param field field + */ + public static void validateConditionInputNotEmptyException(boolean condition, String message, String details, String field) { + if (!condition) { + if (message == null && field != null) { + throw ExceptionUtil.createInputNotEmptyException(TextUtil.VALUE_IS_NOT_EMPTY, details, field); + } else { + throw ExceptionUtil.createInputNotEmptyException(message, details, field); + } + } + } + /** * Validate condition and throw input not valid exception if condition not <tt>true</tt>. * Note that message is automatically generated if message is <tt>null</tt> and field <tt>not null</tt>. diff --git a/src/main/java/org/openepics/names/util/TextUtil.java b/src/main/java/org/openepics/names/util/TextUtil.java index a432e731..3701117c 100644 --- a/src/main/java/org/openepics/names/util/TextUtil.java +++ b/src/main/java/org/openepics/names/util/TextUtil.java @@ -25,6 +25,10 @@ package org.openepics.names.util; */ public class TextUtil { + // application + + public static final String NAMING = "Naming"; + // field // name, structure // name also field @@ -75,6 +79,7 @@ public class TextUtil { public static final String VALUE_IS_NOT_AVAILABLE = "value is not available"; public static final String VALUE_IS_NOT_CORRECT = "value is not correct"; + public static final String VALUE_IS_NOT_EMPTY = "value is not empty"; public static final String VALUE_IS_NOT_VALID = "value is not valid"; public static final String VALUES_ARE_NOT_CORRECT = "values are not correct"; diff --git a/src/main/java/org/openepics/names/util/ValidateUtil.java b/src/main/java/org/openepics/names/util/ValidateUtil.java index 80f980d6..90303136 100644 --- a/src/main/java/org/openepics/names/util/ValidateUtil.java +++ b/src/main/java/org/openepics/names/util/ValidateUtil.java @@ -293,9 +293,9 @@ public class ValidateUtil { */ private static void validateNameElementInput(NameElementCommand nameElement, NameChoice nameChoice) { // attributes - // uuid - // parentsystemstructure - // parentdevicestructure + // uuid - required if not create, required empty if create + // parentsystemstructure (uuid) + // parentdevicestructure (uuid) // index // description // comment @@ -304,8 +304,13 @@ public class ValidateUtil { return; } - if (!NameChoice.CREATE.equals(nameChoice)) { - validateInputUuid(nameElement.getUuid() != null ? nameElement.getUuid().toString() : null); + if (NameChoice.CREATE.equals(nameChoice)) { + ExceptionUtil.validateConditionInputNotEmptyException(nameElement.getUuid() == null, + TextUtil.VALUE_IS_NOT_EMPTY, + nameElement.getUuid() != null ? nameElement.getUuid().toString() : null, + TextUtil.UUID); + } else { + validateInputUuid(nameElement.getUuid() != null ? nameElement.getUuid().toString() : null); } if (!NameChoice.DELETE.equals(nameChoice)) { @@ -729,18 +734,25 @@ public class ValidateUtil { */ private static void validateStructureElementInput(StructureElementCommand structureElement, EssNamingConvention namingConvention, StructureChoice structureChoice) { // check structure element input - // parent uuid - also validate data, parent uuid available if type is system, subsystem, device group, device type - // name - required - // mnemonic - required except for device group - // description - required - // comment - required + // uuid - required if not create, required empty if create + // type - required + // parent (uuid) - also validate data, parent uuid available if type is system, subsystem, device group, device type + // name - required + // mnemonic - required except for device group + // description - required + // comment - required if (structureElement == null || structureChoice == null) { return; } - if (!StructureChoice.CREATE.equals(structureChoice)) { - validateInputUuid(structureElement.getUuid() != null ? structureElement.getUuid().toString() : null); + if (StructureChoice.CREATE.equals(structureChoice)) { + ExceptionUtil.validateConditionInputNotEmptyException(structureElement.getUuid() == null, + TextUtil.VALUE_IS_NOT_EMPTY, + structureElement.getUuid() != null ? structureElement.getUuid().toString() : null, + TextUtil.UUID); + } else { + validateInputUuid(structureElement.getUuid() != null ? structureElement.getUuid().toString() : null); } validateInputType(structureElement.getType()); diff --git a/src/test/java/org/openepics/names/docker/ITUtilNameElement.java b/src/test/java/org/openepics/names/docker/ITUtilNameElement.java index a00c0370..a22664a2 100644 --- a/src/test/java/org/openepics/names/docker/ITUtilNameElement.java +++ b/src/test/java/org/openepics/names/docker/ITUtilNameElement.java @@ -206,6 +206,8 @@ public class ITUtilNameElement { response = ITUtil.doGetJson(ITUtil.HTTP_IP_PORT_NAMING_API_V1_NAMES + queryString); ITUtil.assertResponseLength2Code(response, HttpURLConnection.HTTP_OK); responsePageNameElements = mapper.readValue(response[1], ResponsePageNameElements.class); + + // expected number of items in list if (expectedLessThanOrEqual >= 0) { assertTrue(responsePageNameElements.getListSize() <= expectedLessThanOrEqual); } diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java index c3c204b2..35e3770b 100644 --- a/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresDeviceGroupIT.java @@ -321,12 +321,17 @@ class StructuresDeviceGroupIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.DEVICEGROUP, "Di", Boolean.TRUE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE); - ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE); + structureElement.setUuid(uuid); // approve ITUtilStructureElement.assertApprove(structureElement); @@ -334,6 +339,9 @@ class StructuresDeviceGroupIT { ITUtilStructureElement.assertExists (Type.DEVICEGROUP, "Di", Boolean.TRUE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.APPROVE, Boolean.FALSE); } catch (Exception e) { @@ -371,12 +379,17 @@ class StructuresDeviceGroupIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.DEVICEGROUP, "Di", Boolean.TRUE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE); - ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(uuid); // cancel ITUtilStructureElement.assertCancel(structureElement); @@ -384,6 +397,9 @@ class StructuresDeviceGroupIT { ITUtilStructureElement.assertExists (Type.DEVICEGROUP, "Di", Boolean.TRUE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); } catch (Exception e) { @@ -421,12 +437,17 @@ class StructuresDeviceGroupIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.DEVICEGROUP, "Di", Boolean.TRUE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE); - ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(uuid); // reject ITUtilStructureElement.assertReject(structureElement); @@ -434,6 +455,9 @@ class StructuresDeviceGroupIT { ITUtilStructureElement.assertExists (Type.DEVICEGROUP, "Di", Boolean.TRUE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICEGROUP, "Di", Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); } catch (Exception e) { diff --git a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java index e12710bd..91656fef 100644 --- a/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresDeviceTypeIT.java @@ -383,12 +383,17 @@ class StructuresDeviceTypeIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.DEVICETYPE, "Di-Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cc", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(uuid); // cancel ITUtilStructureElement.assertCancel(structureElement); @@ -396,6 +401,9 @@ class StructuresDeviceTypeIT { ITUtilStructureElement.assertExists (Type.DEVICETYPE, "Di-Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cc", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); } catch (Exception e) { @@ -433,12 +441,17 @@ class StructuresDeviceTypeIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.DEVICETYPE, "Di-Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cr", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(uuid); // reject ITUtilStructureElement.assertReject(structureElement); @@ -446,6 +459,9 @@ class StructuresDeviceTypeIT { ITUtilStructureElement.assertExists (Type.DEVICETYPE, "Di-Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.DEVICETYPE, "Di-Cr", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); } catch (Exception e) { diff --git a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java index b92dac7e..06b7e1b9 100644 --- a/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresDisciplineIT.java @@ -339,12 +339,17 @@ class StructuresDisciplineIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.DISCIPLINE, "Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cc", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(uuid); // cancel ITUtilStructureElement.assertCancel(structureElement); @@ -352,6 +357,9 @@ class StructuresDisciplineIT { ITUtilStructureElement.assertExists (Type.DISCIPLINE, "Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cc", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); } catch (Exception e) { @@ -389,12 +397,17 @@ class StructuresDisciplineIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.DISCIPLINE, "Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cr", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(uuid); // reject ITUtilStructureElement.assertReject(structureElement); @@ -402,6 +415,9 @@ class StructuresDisciplineIT { ITUtilStructureElement.assertExists (Type.DISCIPLINE, "Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.DISCIPLINE, "Cr", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); } catch (Exception e) { diff --git a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java index 8a0aaab9..d64bdfbe 100644 --- a/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresSubsystemIT.java @@ -385,12 +385,17 @@ class StructuresSubsystemIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.SUBSYSTEM, "Sys-Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cc", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(uuid); // cancel ITUtilStructureElement.assertCancel(structureElement); @@ -398,6 +403,9 @@ class StructuresSubsystemIT { ITUtilStructureElement.assertExists (Type.SUBSYSTEM, "Sys-Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cc", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); } catch (Exception e) { @@ -435,12 +443,17 @@ class StructuresSubsystemIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.SUBSYSTEM, "Sys-Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cr", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(uuid); // reject ITUtilStructureElement.assertReject(structureElement); @@ -448,6 +461,9 @@ class StructuresSubsystemIT { ITUtilStructureElement.assertExists (Type.SUBSYSTEM, "Sys-Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SUBSYSTEM, "Sys-Cr", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); } catch (Exception e) { diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java index 04977955..303c9841 100644 --- a/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresSystemGroupIT.java @@ -381,12 +381,17 @@ class StructuresSystemGroupIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.SYSTEMGROUP, "Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cc", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(uuid); // cancel ITUtilStructureElement.assertCancel(structureElement); @@ -394,6 +399,9 @@ class StructuresSystemGroupIT { ITUtilStructureElement.assertExists (Type.SYSTEMGROUP, "Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cc", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); } catch (Exception e) { @@ -431,12 +439,17 @@ class StructuresSystemGroupIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.SYSTEMGROUP, "Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cr", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(uuid); // reject ITUtilStructureElement.assertReject(structureElement); @@ -444,6 +457,9 @@ class StructuresSystemGroupIT { ITUtilStructureElement.assertExists (Type.SYSTEMGROUP, "Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEMGROUP, "Cr", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); } catch (Exception e) { diff --git a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java index 3701d1c9..0d566b37 100644 --- a/src/test/java/org/openepics/names/docker/StructuresSystemIT.java +++ b/src/test/java/org/openepics/names/docker/StructuresSystemIT.java @@ -368,12 +368,17 @@ class StructuresSystemIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.SYSTEM, "Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cc", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(uuid); // cancel ITUtilStructureElement.assertCancel(structureElement); @@ -381,6 +386,9 @@ class StructuresSystemIT { ITUtilStructureElement.assertExists (Type.SYSTEM, "Cc", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cc", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CANCEL, Boolean.FALSE); } catch (Exception e) { @@ -418,12 +426,17 @@ class StructuresSystemIT { // create ITUtilStructureElement.assertCreate(structureElement); + UUID uuid = structureElement.getUuid(); ITUtilStructureElement.assertExists (Type.SYSTEM, "Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cr", Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.TRUE); + structureElement.setUuid(null); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(uuid); // reject ITUtilStructureElement.assertReject(structureElement); @@ -431,6 +444,9 @@ class StructuresSystemIT { ITUtilStructureElement.assertExists (Type.SYSTEM, "Cr", Boolean.FALSE); ITUtilStructureElement.assertIsValidToCreate(Type.SYSTEM, "Cr", Boolean.TRUE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.FALSE); + ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); + structureElement.setUuid(null); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.CREATE, Boolean.TRUE); ITUtilStructureElement.assertValidate(structureElement, StructureChoice.REJECT, Boolean.FALSE); } catch (Exception e) { -- GitLab