From 9157886181d926b2951a1257bcb536b5f26908a4 Mon Sep 17 00:00:00 2001 From: Zai Zhang Date: Wed, 24 Jan 2024 17:34:32 +0100 Subject: [PATCH 1/3] Fix DeleteNestedElement Tests Signed-off-by: Zai Zhang --- .../core/SubmodelRepositorySuite.java | 28 +++++++++++-------- .../submodelservice/SubmodelServiceSuite.java | 8 ++---- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySuite.java b/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySuite.java index adf808fd9..ef7ce5f43 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySuite.java +++ b/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySuite.java @@ -407,20 +407,20 @@ public void createSubmodelElement() { } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteSubmodeleElement() { SubmodelRepository repo = getSubmodelRepositoryWithDummySubmodels(); - repo.deleteSubmodelElement(DummySubmodelFactory.SUBMODEL_SIMPLE_DATA_ID, "test123"); + repo.deleteSubmodelElement(DummySubmodelFactory.SUBMODEL_SIMPLE_DATA_ID, DummySubmodelFactory.SUBMODEL_ELEMENT_SIMPLE_DATA_ID_SHORT); try { - repo.getSubmodelElement(DummySubmodelFactory.SUBMODEL_SIMPLE_DATA_ID, "test123"); + repo.getSubmodelElement(DummySubmodelFactory.SUBMODEL_SIMPLE_DATA_ID, DummySubmodelFactory.SUBMODEL_ELEMENT_SIMPLE_DATA_ID_SHORT); fail(); } catch (ElementDoesNotExistException expected) { } } @Test - public void createNestedSubmodelELement() { + public void createNestedSubmodelElement() { SubmodelRepository repo = getSubmodelRepositoryWithDummySubmodels(); Property propertyInCollection = new DefaultProperty.Builder().idShort("test654").category("cat1").value("305").valueType(DataTypeDefXsd.INTEGER).build(); Property propertyInList = new DefaultProperty.Builder().idShort("test987").category("cat1").value("305").valueType(DataTypeDefXsd.INTEGER).build(); @@ -439,11 +439,11 @@ public void createNestedSubmodelELement() { assertEquals("test987", propertyInSmeListCreated.getIdShort()); } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteNestedSubmodelElementInSubmodelElementCollection() { - SubmodelRepository repo = getSubmodelRepositoryWithDummySubmodels(); + SubmodelRepository repo = getSubmodelRepositoryWithHierarchicalSubmodelElements(); - String idShortPathPropertyInSmeCol = DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ELEMENT_COLLECTION_ID_SHORT + DummySubmodelFactory.SUBMODEL_ELEMENT_SECOND_ID_SHORT; + String idShortPathPropertyInSmeCol = DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ELEMENT_COLLECTION_ID_SHORT + "." + DummySubmodelFactory.SUBMODEL_ELEMENT_SECOND_ID_SHORT; repo.deleteSubmodelElement(DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ID, idShortPathPropertyInSmeCol); @@ -451,13 +451,13 @@ public void deleteNestedSubmodelElementInSubmodelElementCollection() { repo.getSubmodelElement(DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ID, idShortPathPropertyInSmeCol); fail(); } catch (ElementDoesNotExistException expected) { - throw expected; + } } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteNestedSubmodelElementInSubmodelElementList() { - SubmodelRepository repo = getSubmodelRepositoryWithDummySubmodels(); + SubmodelRepository repo = getSubmodelRepositoryWithHierarchicalSubmodelElements(); repo.deleteSubmodelElement(DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ID, generateIdShortPath()); @@ -465,7 +465,7 @@ public void deleteNestedSubmodelElementInSubmodelElementList() { repo.getSubmodelElement(DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ID, generateIdShortPath()); fail(); } catch (ElementDoesNotExistException expected) { - throw expected; + } } @@ -532,6 +532,12 @@ private SubmodelRepository getSubmodelRepositoryWithDummySubmodels() { return repo; } + private SubmodelRepository getSubmodelRepositoryWithHierarchicalSubmodelElements() { + Collection expectedSubmodels = Arrays.asList(DummySubmodelFactory.createOperationalDataSubmodelWithHierarchicalSubmodelElements()); + SubmodelRepository repo = getSubmodelRepository(expectedSubmodels); + return repo; + } + private void assertIsEmpty(Collection submodels) { assertTrue(submodels.isEmpty()); } diff --git a/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java b/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java index 407833647..25df46c62 100644 --- a/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java +++ b/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java @@ -301,7 +301,7 @@ public void createSubmodelElement() { assertEquals("test123", submodelEl.getIdShort()); } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteSubmodelElement() { Submodel technicalData = DummySubmodelFactory.createTechnicalDataSubmodel(); SubmodelService submodelService = getSubmodelService(technicalData); @@ -346,7 +346,7 @@ public void createNestedSubmodelElement() { assertEquals("test456", propertyInSmeListCreated.getIdShort()); } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteNestedSubmodelElementInSubmodelElementCollection() { Submodel operationDataSubmodel = DummySubmodelFactory.createOperationalDataSubmodelWithHierarchicalSubmodelElements(); SubmodelService submodelService = getSubmodelService(operationDataSubmodel); @@ -359,11 +359,10 @@ public void deleteNestedSubmodelElementInSubmodelElementCollection() { submodelService.getSubmodelElement(idShortPathPropertyInSmeCol); fail(); } catch (ElementDoesNotExistException expected) { - throw expected; } } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteNestedSubmodelElementInSubmodelElementList() { Submodel operationDataSubmodel = DummySubmodelFactory.createOperationalDataSubmodelWithHierarchicalSubmodelElements(); SubmodelService submodelService = getSubmodelService(operationDataSubmodel); @@ -374,7 +373,6 @@ public void deleteNestedSubmodelElementInSubmodelElementList() { submodelService.getSubmodelElement(generateIdShortPath()); fail(); } catch (ElementDoesNotExistException expected) { - throw expected; } } From 2863a66d67859c1d8aa290b03a19e953ca3fa5c8 Mon Sep 17 00:00:00 2001 From: Zai Zhang Date: Wed, 24 Jan 2024 19:34:45 +0100 Subject: [PATCH 2/3] Fix bug in test SubmodelServiceSuite Signed-off-by: Zai Zhang --- .../basyx/submodelservice/SubmodelServiceSuite.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java b/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java index 25df46c62..0c615ef9f 100644 --- a/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java +++ b/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java @@ -305,7 +305,7 @@ public void createSubmodelElement() { public void deleteSubmodelElement() { Submodel technicalData = DummySubmodelFactory.createTechnicalDataSubmodel(); SubmodelService submodelService = getSubmodelService(technicalData); - submodelService.deleteSubmodelElement("test123"); + submodelService.deleteSubmodelElement(SubmodelServiceHelper.SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT); try { submodelService.getSubmodelElement("test123"); @@ -351,7 +351,7 @@ public void deleteNestedSubmodelElementInSubmodelElementCollection() { Submodel operationDataSubmodel = DummySubmodelFactory.createOperationalDataSubmodelWithHierarchicalSubmodelElements(); SubmodelService submodelService = getSubmodelService(operationDataSubmodel); - String idShortPathPropertyInSmeCol = DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ELEMENT_COLLECTION_ID_SHORT + DummySubmodelFactory.SUBMODEL_ELEMENT_SECOND_ID_SHORT; + String idShortPathPropertyInSmeCol = DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ELEMENT_COLLECTION_ID_SHORT + "." + DummySubmodelFactory.SUBMODEL_ELEMENT_SECOND_ID_SHORT; submodelService.deleteSubmodelElement(idShortPathPropertyInSmeCol); From fb8b6e4ff1f35ac01d3da38d2b54dfbbfd2cfc24 Mon Sep 17 00:00:00 2001 From: Zai Zhang Date: Wed, 24 Jan 2024 17:34:32 +0100 Subject: [PATCH 3/3] Fix DeleteNestedElement Tests Fix bug in test SubmodelServiceSuite Signed-off-by: Zai Zhang --- .../core/SubmodelRepositorySuite.java | 28 +++++++++++-------- .../submodelservice/SubmodelServiceSuite.java | 12 ++++---- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySuite.java b/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySuite.java index adf808fd9..ef7ce5f43 100644 --- a/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySuite.java +++ b/basyx.submodelrepository/basyx.submodelrepository-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelrepository/core/SubmodelRepositorySuite.java @@ -407,20 +407,20 @@ public void createSubmodelElement() { } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteSubmodeleElement() { SubmodelRepository repo = getSubmodelRepositoryWithDummySubmodels(); - repo.deleteSubmodelElement(DummySubmodelFactory.SUBMODEL_SIMPLE_DATA_ID, "test123"); + repo.deleteSubmodelElement(DummySubmodelFactory.SUBMODEL_SIMPLE_DATA_ID, DummySubmodelFactory.SUBMODEL_ELEMENT_SIMPLE_DATA_ID_SHORT); try { - repo.getSubmodelElement(DummySubmodelFactory.SUBMODEL_SIMPLE_DATA_ID, "test123"); + repo.getSubmodelElement(DummySubmodelFactory.SUBMODEL_SIMPLE_DATA_ID, DummySubmodelFactory.SUBMODEL_ELEMENT_SIMPLE_DATA_ID_SHORT); fail(); } catch (ElementDoesNotExistException expected) { } } @Test - public void createNestedSubmodelELement() { + public void createNestedSubmodelElement() { SubmodelRepository repo = getSubmodelRepositoryWithDummySubmodels(); Property propertyInCollection = new DefaultProperty.Builder().idShort("test654").category("cat1").value("305").valueType(DataTypeDefXsd.INTEGER).build(); Property propertyInList = new DefaultProperty.Builder().idShort("test987").category("cat1").value("305").valueType(DataTypeDefXsd.INTEGER).build(); @@ -439,11 +439,11 @@ public void createNestedSubmodelELement() { assertEquals("test987", propertyInSmeListCreated.getIdShort()); } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteNestedSubmodelElementInSubmodelElementCollection() { - SubmodelRepository repo = getSubmodelRepositoryWithDummySubmodels(); + SubmodelRepository repo = getSubmodelRepositoryWithHierarchicalSubmodelElements(); - String idShortPathPropertyInSmeCol = DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ELEMENT_COLLECTION_ID_SHORT + DummySubmodelFactory.SUBMODEL_ELEMENT_SECOND_ID_SHORT; + String idShortPathPropertyInSmeCol = DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ELEMENT_COLLECTION_ID_SHORT + "." + DummySubmodelFactory.SUBMODEL_ELEMENT_SECOND_ID_SHORT; repo.deleteSubmodelElement(DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ID, idShortPathPropertyInSmeCol); @@ -451,13 +451,13 @@ public void deleteNestedSubmodelElementInSubmodelElementCollection() { repo.getSubmodelElement(DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ID, idShortPathPropertyInSmeCol); fail(); } catch (ElementDoesNotExistException expected) { - throw expected; + } } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteNestedSubmodelElementInSubmodelElementList() { - SubmodelRepository repo = getSubmodelRepositoryWithDummySubmodels(); + SubmodelRepository repo = getSubmodelRepositoryWithHierarchicalSubmodelElements(); repo.deleteSubmodelElement(DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ID, generateIdShortPath()); @@ -465,7 +465,7 @@ public void deleteNestedSubmodelElementInSubmodelElementList() { repo.getSubmodelElement(DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ID, generateIdShortPath()); fail(); } catch (ElementDoesNotExistException expected) { - throw expected; + } } @@ -532,6 +532,12 @@ private SubmodelRepository getSubmodelRepositoryWithDummySubmodels() { return repo; } + private SubmodelRepository getSubmodelRepositoryWithHierarchicalSubmodelElements() { + Collection expectedSubmodels = Arrays.asList(DummySubmodelFactory.createOperationalDataSubmodelWithHierarchicalSubmodelElements()); + SubmodelRepository repo = getSubmodelRepository(expectedSubmodels); + return repo; + } + private void assertIsEmpty(Collection submodels) { assertTrue(submodels.isEmpty()); } diff --git a/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java b/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java index 407833647..0c615ef9f 100644 --- a/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java +++ b/basyx.submodelservice/basyx.submodelservice-core/src/test/java/org/eclipse/digitaltwin/basyx/submodelservice/SubmodelServiceSuite.java @@ -301,11 +301,11 @@ public void createSubmodelElement() { assertEquals("test123", submodelEl.getIdShort()); } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteSubmodelElement() { Submodel technicalData = DummySubmodelFactory.createTechnicalDataSubmodel(); SubmodelService submodelService = getSubmodelService(technicalData); - submodelService.deleteSubmodelElement("test123"); + submodelService.deleteSubmodelElement(SubmodelServiceHelper.SUBMODEL_TECHNICAL_DATA_PROPERTY_ID_SHORT); try { submodelService.getSubmodelElement("test123"); @@ -346,12 +346,12 @@ public void createNestedSubmodelElement() { assertEquals("test456", propertyInSmeListCreated.getIdShort()); } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteNestedSubmodelElementInSubmodelElementCollection() { Submodel operationDataSubmodel = DummySubmodelFactory.createOperationalDataSubmodelWithHierarchicalSubmodelElements(); SubmodelService submodelService = getSubmodelService(operationDataSubmodel); - String idShortPathPropertyInSmeCol = DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ELEMENT_COLLECTION_ID_SHORT + DummySubmodelFactory.SUBMODEL_ELEMENT_SECOND_ID_SHORT; + String idShortPathPropertyInSmeCol = DummySubmodelFactory.SUBMODEL_OPERATIONAL_DATA_ELEMENT_COLLECTION_ID_SHORT + "." + DummySubmodelFactory.SUBMODEL_ELEMENT_SECOND_ID_SHORT; submodelService.deleteSubmodelElement(idShortPathPropertyInSmeCol); @@ -359,11 +359,10 @@ public void deleteNestedSubmodelElementInSubmodelElementCollection() { submodelService.getSubmodelElement(idShortPathPropertyInSmeCol); fail(); } catch (ElementDoesNotExistException expected) { - throw expected; } } - @Test(expected = ElementDoesNotExistException.class) + @Test public void deleteNestedSubmodelElementInSubmodelElementList() { Submodel operationDataSubmodel = DummySubmodelFactory.createOperationalDataSubmodelWithHierarchicalSubmodelElements(); SubmodelService submodelService = getSubmodelService(operationDataSubmodel); @@ -374,7 +373,6 @@ public void deleteNestedSubmodelElementInSubmodelElementList() { submodelService.getSubmodelElement(generateIdShortPath()); fail(); } catch (ElementDoesNotExistException expected) { - throw expected; } }