From ae9179f366e37e1e9cb4775cbb01542a71b5da72 Mon Sep 17 00:00:00 2001
From: Lars Johansson <lars.johansson@ess.eu>
Date: Thu, 5 Jan 2023 10:49:28 +0100
Subject: [PATCH] Fix issue for approve create system structure and refactor
 integration tests

Fix issue for create name when approve create system structure. Avoid create name for empty mnemonic.
Refactor integration tests.
Remove duplicate integration tests.
---
 .../names/service/SubsystemService.java       |   5 +-
 .../names/service/SystemGroupService.java     |   5 +-
 .../names/service/SystemService.java          |   5 +-
 .../docker/complex/StructuresCUDDeleteIT.java |  24 +-
 .../complex/StructuresCUDNamesLegacyIT.java   |  24 +-
 .../docker/complex/StructuresCUDUpdateIT.java |  24 +-
 ...eLevel3IT.java => StructuresLevel3IT.java} |   2 +-
 .../docker/complex/StructuresNamesIT.java     | 213 ------------------
 8 files changed, 70 insertions(+), 232 deletions(-)
 rename src/test/java/org/openepics/names/docker/complex/{StructuresCreateLevel3IT.java => StructuresLevel3IT.java} (99%)
 delete mode 100644 src/test/java/org/openepics/names/docker/complex/StructuresNamesIT.java

diff --git a/src/main/java/org/openepics/names/service/SubsystemService.java b/src/main/java/org/openepics/names/service/SubsystemService.java
index 59dbd2ba..79787fbc 100644
--- a/src/main/java/org/openepics/names/service/SubsystemService.java
+++ b/src/main/java/org/openepics/names/service/SubsystemService.java
@@ -169,8 +169,9 @@ public class SubsystemService {
 
         // additional
         if (StructureCommand.CREATE.equals(structureCommandCUD)) {
-            boolean existsName = !StringUtils.isEmpty(subsystem.getMnemonic()) && namesService.existsName(StructureUtil.getMnemonicPath(subsystem, holder));
-            if (!existsName) {
+            boolean hasMnemonic = !StringUtils.isEmpty(subsystem.getMnemonic());
+            boolean existsName = hasMnemonic && namesService.existsName(StructureUtil.getMnemonicPath(subsystem, holder));
+            if (hasMnemonic && !existsName) {
                 NameElementCommand nameElement = new NameElementCommand(null, subsystem.getUuid(), null, null, StructuresService.SYSTEM_STRUCTURE_ONLY, null);
                 NameElement createdNameElement = namesService.createName(nameElement, holder, processed, processedBy);
                 LOGGER.log(Level.FINE, "approveStructures, nameElement created, name:  {0}", createdNameElement.getName());
diff --git a/src/main/java/org/openepics/names/service/SystemGroupService.java b/src/main/java/org/openepics/names/service/SystemGroupService.java
index 7ead3476..6d6e8ba1 100644
--- a/src/main/java/org/openepics/names/service/SystemGroupService.java
+++ b/src/main/java/org/openepics/names/service/SystemGroupService.java
@@ -179,8 +179,9 @@ public class SystemGroupService {
 
         // additional
         if (StructureCommand.CREATE.equals(structureCommandCUD)) {
-            boolean existsName = !StringUtils.isEmpty(systemGroup.getMnemonic()) && namesService.existsName(StructureUtil.getMnemonicPath(systemGroup, holder));
-            if (!existsName) {
+            boolean hasMnemonic = !StringUtils.isEmpty(systemGroup.getMnemonic());
+            boolean existsName = hasMnemonic && namesService.existsName(StructureUtil.getMnemonicPath(systemGroup, holder));
+            if (hasMnemonic && !existsName) {
                 NameElementCommand nameElement = new NameElementCommand(null, systemGroup.getUuid(), null, null, StructuresService.SYSTEM_STRUCTURE_ONLY, null);
                 NameElement createdNameElement = namesService.createName(nameElement, holder, processed, processedBy);
                 LOGGER.log(Level.FINE, "approveStructure, nameElement created, name:  {0}", createdNameElement.getName());
diff --git a/src/main/java/org/openepics/names/service/SystemService.java b/src/main/java/org/openepics/names/service/SystemService.java
index 13535726..a96ad524 100644
--- a/src/main/java/org/openepics/names/service/SystemService.java
+++ b/src/main/java/org/openepics/names/service/SystemService.java
@@ -179,8 +179,9 @@ public class SystemService {
 
         // additional
         if (StructureCommand.CREATE.equals(structureCommandCUD)) {
-            boolean existsName = !StringUtils.isEmpty(system.getMnemonic()) && namesService.existsName(StructureUtil.getMnemonicPath(system, holder));
-            if (!existsName) {
+            boolean hasMnemonic = !StringUtils.isEmpty(system.getMnemonic());
+            boolean existsName = hasMnemonic && namesService.existsName(StructureUtil.getMnemonicPath(system, holder));
+            if (hasMnemonic && !existsName) {
                 NameElementCommand nameElement = new NameElementCommand(null, system.getUuid(), null, null, StructuresService.SYSTEM_STRUCTURE_ONLY, null);
                 NameElement createdNameElement = namesService.createName(nameElement, holder, processed, processedBy);
                 LOGGER.log(Level.FINE, "approveStructure, nameElement created, name:  {0}", createdNameElement.getName());
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresCUDDeleteIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresCUDDeleteIT.java
index ef551113..a7af90fd 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresCUDDeleteIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresCUDDeleteIT.java
@@ -76,6 +76,7 @@ class StructuresCUDDeleteIT {
             .waitingFor(ITUtil.NAMING, Wait.forLogMessage(".*Started NamingApplication.*", 1));
 
     // system group
+    //     sg0
     private static UUID sg1 = null;
     private static UUID sg2 = null;
 
@@ -123,6 +124,19 @@ class StructuresCUDDeleteIT {
         String description = "description";
         String comment = "comment";
 
+        // sg0
+        structureElement = new StructureElementCommand(null, Type.SYSTEMGROUP, null, name, null, description, comment);
+        approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
+
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 1);
+        ITUtilStructureElement.assertRead("/SYSTEM", 0);
+        ITUtilStructureElement.assertRead("/SUBSYSTEM", 0);
+        ITUtilNameElement.assertRead("", 0);
+
+        // at this point
+        //     system group
+        //         sg0 - no mnemonic
+
         structureElement = new StructureElementCommand(null, Type.SYSTEMGROUP, null, name, "Sg1", description, comment);
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
         sg1 = approvedStructureElement.getUuid();
@@ -167,13 +181,15 @@ class StructuresCUDDeleteIT {
         structureElement = new StructureElementCommand(null, Type.SUBSYSTEM, sys13, name, "Sub133", description, comment);
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 1);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
         ITUtilStructureElement.assertRead("/SYSTEM", 3);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 9);
         ITUtilNameElement.assertRead("", 13);
 
 
         // at this point
+        //     above
+        //     +
         //     system group
         //         Sg1
         //     system
@@ -235,7 +251,7 @@ class StructuresCUDDeleteIT {
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
         sub233 = approvedStructureElement.getUuid();
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 18);
         ITUtilNameElement.assertRead("", 26);
@@ -310,7 +326,7 @@ class StructuresCUDDeleteIT {
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
         dt233 = approvedStructureElement.getUuid();
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 18);
         ITUtilStructureElement.assertRead("/DISCIPLINE", 1);
@@ -357,7 +373,7 @@ class StructuresCUDDeleteIT {
         nameElement = new NameElementCommand(null, sub233, dt233, "233", description, comment);
         ITUtilNameElement.assertCreate(nameElement);
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 18);
         ITUtilStructureElement.assertRead("/DISCIPLINE", 1);
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java
index 7a82218c..2b875f93 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresCUDNamesLegacyIT.java
@@ -78,6 +78,7 @@ class StructuresCUDNamesLegacyIT {
             .waitingFor(ITUtil.NAMING, Wait.forLogMessage(".*Started NamingApplication.*", 1));
 
     // system group
+    //     sg0
     private static UUID sg1 = null;
     private static UUID sg2 = null;
 
@@ -123,6 +124,19 @@ class StructuresCUDNamesLegacyIT {
         String description = "description";
         String comment = "comment";
 
+        // sg0
+        structureElement = new StructureElementCommand(null, Type.SYSTEMGROUP, null, name, null, description, comment);
+        approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
+
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 1);
+        ITUtilStructureElement.assertRead("/SYSTEM", 0);
+        ITUtilStructureElement.assertRead("/SUBSYSTEM", 0);
+        ITUtilNameElement.assertRead("", 0);
+
+        // at this point
+        //     system group
+        //         sg0 - no mnemonic
+
         structureElement = new StructureElementCommand(null, Type.SYSTEMGROUP, null, name, "Sg1", description, comment);
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
         sg1 = approvedStructureElement.getUuid();
@@ -167,12 +181,14 @@ class StructuresCUDNamesLegacyIT {
         structureElement = new StructureElementCommand(null, Type.SUBSYSTEM, sys13, name, "Sub133", description, comment);
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 1);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
         ITUtilStructureElement.assertRead("/SYSTEM", 3);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 9);
         ITUtilNameElement.assertRead("", 13);
 
         // at this point
+        //     above
+        //     +
         //     system group
         //         Sg1
         //     system
@@ -234,7 +250,7 @@ class StructuresCUDNamesLegacyIT {
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
         sub233 = approvedStructureElement.getUuid();
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 18);
         ITUtilNameElement.assertRead("", 26);
@@ -309,7 +325,7 @@ class StructuresCUDNamesLegacyIT {
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
         dt233 = approvedStructureElement.getUuid();
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 18);
         ITUtilStructureElement.assertRead("/DISCIPLINE", 1);
@@ -356,7 +372,7 @@ class StructuresCUDNamesLegacyIT {
         nameElement = new NameElementCommand(null, sub233, dt233, "233", description, comment);
         ITUtilNameElement.assertCreate(nameElement);
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 18);
         ITUtilStructureElement.assertRead("/DISCIPLINE", 1);
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresCUDUpdateIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresCUDUpdateIT.java
index bedfaa62..264377c6 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresCUDUpdateIT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresCUDUpdateIT.java
@@ -76,6 +76,7 @@ class StructuresCUDUpdateIT {
             .waitingFor(ITUtil.NAMING, Wait.forLogMessage(".*Started NamingApplication.*", 1));
 
     // system group
+    //     sg0
     private static UUID sg1 = null;
     private static UUID sg2 = null;
 
@@ -123,6 +124,19 @@ class StructuresCUDUpdateIT {
         String description = "description";
         String comment = "comment";
 
+        // sg0
+        structureElement = new StructureElementCommand(null, Type.SYSTEMGROUP, null, name, null, description, comment);
+        approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
+
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 1);
+        ITUtilStructureElement.assertRead("/SYSTEM", 0);
+        ITUtilStructureElement.assertRead("/SUBSYSTEM", 0);
+        ITUtilNameElement.assertRead("", 0);
+
+        // at this point
+        //     system group
+        //         sg0 - no mnemonic
+
         structureElement = new StructureElementCommand(null, Type.SYSTEMGROUP, null, name, "Sg1", description, comment);
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
         sg1 = approvedStructureElement.getUuid();
@@ -167,13 +181,15 @@ class StructuresCUDUpdateIT {
         structureElement = new StructureElementCommand(null, Type.SUBSYSTEM, sys13, name, "Sub133", description, comment);
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 1);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
         ITUtilStructureElement.assertRead("/SYSTEM", 3);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 9);
         ITUtilNameElement.assertRead("", 13);
 
 
         // at this point
+        //     above
+        //     +
         //     system group
         //         Sg1
         //     system
@@ -235,7 +251,7 @@ class StructuresCUDUpdateIT {
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
         sub233 = approvedStructureElement.getUuid();
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 18);
         ITUtilNameElement.assertRead("", 26);
@@ -310,7 +326,7 @@ class StructuresCUDUpdateIT {
         approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
         dt233 = approvedStructureElement.getUuid();
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 18);
         ITUtilStructureElement.assertRead("/DISCIPLINE", 1);
@@ -357,7 +373,7 @@ class StructuresCUDUpdateIT {
         nameElement = new NameElementCommand(null, sub233, dt233, "233", description, comment);
         ITUtilNameElement.assertCreate(nameElement);
 
-        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 2);
+        ITUtilStructureElement.assertRead("/SYSTEMGROUP", 3);
         ITUtilStructureElement.assertRead("/SYSTEM", 6);
         ITUtilStructureElement.assertRead("/SUBSYSTEM", 18);
         ITUtilStructureElement.assertRead("/DISCIPLINE", 1);
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresCreateLevel3IT.java b/src/test/java/org/openepics/names/docker/complex/StructuresLevel3IT.java
similarity index 99%
rename from src/test/java/org/openepics/names/docker/complex/StructuresCreateLevel3IT.java
rename to src/test/java/org/openepics/names/docker/complex/StructuresLevel3IT.java
index 71a86e17..18cc94e8 100644
--- a/src/test/java/org/openepics/names/docker/complex/StructuresCreateLevel3IT.java
+++ b/src/test/java/org/openepics/names/docker/complex/StructuresLevel3IT.java
@@ -48,7 +48,7 @@ import org.testcontainers.junit.jupiter.Testcontainers;
  * @author Lars Johansson
  */
 @Testcontainers
-class StructuresCreateLevel3IT {
+class StructuresLevel3IT {
 
     // note
     //     create in order to approve
diff --git a/src/test/java/org/openepics/names/docker/complex/StructuresNamesIT.java b/src/test/java/org/openepics/names/docker/complex/StructuresNamesIT.java
deleted file mode 100644
index 63d09878..00000000
--- a/src/test/java/org/openepics/names/docker/complex/StructuresNamesIT.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * 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.docker.complex;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import java.io.File;
-import java.util.UUID;
-
-import org.junit.jupiter.api.Test;
-import org.openepics.names.docker.ITUtil;
-import org.openepics.names.docker.ITUtilNameElement;
-import org.openepics.names.docker.ITUtilStructureElement;
-import org.openepics.names.rest.beans.Type;
-import org.openepics.names.rest.beans.element.StructureElement;
-import org.openepics.names.rest.beans.element.StructureElementCommand;
-import org.testcontainers.containers.DockerComposeContainer;
-import org.testcontainers.containers.wait.strategy.Wait;
-import org.testcontainers.junit.jupiter.Container;
-import org.testcontainers.junit.jupiter.Testcontainers;
-
-/**
- * Integration tests for Naming and PostgreSQL that make use of existing dockerization
- * with docker-compose.yml / Dockerfile.
- *
- * <p>
- * Focus of this class are names and structures endpoints.
- * In particular, purpose is to test automatic add of names when system structure only
- * structures are approved (after being added).
- * </p>
- *
- * @author Lars Johansson
- */
-@Testcontainers
-class StructuresNamesIT {
-
-    // names are to be automatically created after system structure only structures are approved (after being added)
-    //
-    // test combinations
-    //     structure - system, device
-    //     number of entries - one, multiple
-    //     operations - add, approve
-
-    @Container
-    public static final DockerComposeContainer<?> ENVIRONMENT =
-        new DockerComposeContainer<>(new File("docker-compose-integrationtest.yml"))
-            .waitingFor(ITUtil.NAMING, Wait.forLogMessage(".*Started NamingApplication.*", 1));
-
-    private static UUID systemGroupUuid = null;
-    private static UUID systemUuid = null;
-
-    private static UUID systemGroupAcc  = null;
-    private static UUID systemRFQ       = null;
-
-    private static UUID disciplineUuid = null;
-    private static UUID deviceGroupUuid = null;
-
-    // no @BeforeAll
-
-    @Test
-    void checkSystemStructure1() {
-        // systemGroupUuid
-        // systemUuid
-        // subsystemUuid
-
-        StructureElementCommand structureElement  = null;
-        StructureElement createdStructureElement = null;
-        int nbrNames = -1;
-
-        nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
-
-        structureElement = new StructureElementCommand(
-                null, Type.SYSTEMGROUP, null,
-                "name", "Sg",
-                "description", "comment");
-        createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
-        systemGroupUuid = createdStructureElement.getUuid();
-
-        assertEquals(nbrNames, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-        ITUtilStructureElement.assertApprove(createdStructureElement);
-        assertEquals(nbrNames + 1, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-
-        structureElement = new StructureElementCommand(
-                null, Type.SYSTEM, systemGroupUuid,
-                "name", "Sys",
-                "description", "comment");
-        createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
-        systemUuid = createdStructureElement.getUuid();
-
-        assertEquals(nbrNames + 1, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-        ITUtilStructureElement.assertApprove(createdStructureElement);
-        assertEquals(nbrNames + 2, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-
-        structureElement = new StructureElementCommand(
-                null, Type.SUBSYSTEM, systemUuid,
-                "name", "Sub",
-                "description", "comment");
-        createdStructureElement = ITUtilStructureElement.assertCreate(structureElement);
-
-        assertEquals(nbrNames + 2, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-        ITUtilStructureElement.assertApprove(createdStructureElement);
-        assertEquals(nbrNames + 3, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-    }
-
-    @Test
-    void checkSystemStructure2() {
-        // systemGroupAcc
-        // systemRFQ
-        // subsystem010PRL
-        // subsystem010
-        // subsystemN1U1
-
-        StructureElementCommand[] structureElements  = null;
-        StructureElementCommand structureElement  = null;
-        StructureElement approvedStructureElement = null;
-        int nbrNames = -1;
-
-        nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
-
-        structureElement = new StructureElementCommand(
-                null, Type.SYSTEMGROUP, null,
-                "Accelerator", "Acc",
-                "The ESS Linear Accelerator", "approved by alfio");
-        approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
-        systemGroupAcc = approvedStructureElement.getUuid();
-
-        assertEquals(nbrNames + 1, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-
-        structureElement = new StructureElementCommand(
-                null, Type.SYSTEM, systemGroupAcc,
-                "Radio Frequency Quadrupole", "RFQ",
-                "empty", "empty");
-        approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
-        systemRFQ = approvedStructureElement.getUuid();
-
-        assertEquals(nbrNames + 2, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-
-        structureElements = new StructureElementCommand[] {
-                structureElement = new StructureElementCommand(
-                        null, Type.SUBSYSTEM, systemRFQ,
-                        "01 Phase Reference Line", "010PRL",
-                        "empty", "Approved by Daniel Piso"),
-                structureElement = new StructureElementCommand(
-                        null, Type.SUBSYSTEM, systemRFQ,
-                        "RFQ-010", "010",
-                        "empty", "Approved by Daniel Piso"),
-                structureElement = new StructureElementCommand(
-                        null, Type.SUBSYSTEM, systemRFQ,
-                        "Power switch board 01", "N1U1",
-                        "Electrical power cabinets", "Approved by Daniel Piso")
-        };
-
-        ITUtilStructureElement.assertCreateApprove(structureElements);
-
-        assertEquals(nbrNames + 5, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-    }
-
-    @Test
-    void checkDeviceStructure() {
-        // disciplineUuid
-        // deviceGroupUuid
-        // deviceTypeUuid
-
-        StructureElementCommand structureElement  = null;
-        StructureElement approvedStructureElement = null;
-        int nbrNames = -1;
-
-        nbrNames = ITUtilNameElement.assertRead("?deleted=false").getListSize();
-
-        structureElement = new StructureElementCommand(
-                null, Type.DISCIPLINE, null,
-                "name", "Di",
-                "description", "comment");
-        approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
-        disciplineUuid = approvedStructureElement.getUuid();
-
-        assertEquals(nbrNames, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-
-        structureElement = new StructureElementCommand(
-                null, Type.DEVICEGROUP, disciplineUuid,
-                "name", null,
-                "description", "comment");
-        approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
-        deviceGroupUuid = approvedStructureElement.getUuid();
-
-        assertEquals(nbrNames, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-
-        structureElement = new StructureElementCommand(
-                null, Type.DEVICETYPE, deviceGroupUuid,
-                "name", "Dt",
-                "empty", "empty");
-        approvedStructureElement = ITUtilStructureElement.assertCreateApprove(structureElement);
-
-        assertEquals(nbrNames, ITUtilNameElement.assertRead("?deleted=false").getListSize());
-    }
-
-}
-- 
GitLab