From 888ca64b097e3f302586344d8b86259c2336b455 Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Wed, 19 Jun 2024 00:06:56 +0300 Subject: [PATCH 1/3] fix for #40 --- .../ServiceSpecificationRepoService.java | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java index 9fd5474..99dcaf3 100644 --- a/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java +++ b/src/main/java/org/etsi/osl/tmf/scm633/reposervices/ServiceSpecificationRepoService.java @@ -622,7 +622,7 @@ public class ServiceSpecificationRepoService { * Also, * we will add by default all the characteristics of this rSpec to the related bundle parent service */ - //serviceSpec = copyCharacteristicsOfResourceSpecId( ar.getId(), serviceSpec); + serviceSpec = copyCharacteristicsOfResourceSpecId( ar.getId(), serviceSpec); } } @@ -699,24 +699,24 @@ public class ServiceSpecificationRepoService { return targetServiceSpec; } -// private ServiceSpecification copyCharacteristicsOfResourceSpecId(String sourceResourceSpecid, ServiceSpecification targetServiceSpec) { -// -// ResourceSpecification rSpec = resourceSpecRepoService.findByUuid( sourceResourceSpecid ); -// -// if ( rSpec != null ) { -// for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) { -// ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar ); -// //serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() ); -// serviceSpecCharacteristicItem.setName( sourceChar.getName() ); -// -// if ( targetServiceSpec.findSpecCharacteristicByName( serviceSpecCharacteristicItem.getName() ) == null ) { -// targetServiceSpec.getServiceSpecCharacteristic().add( serviceSpecCharacteristicItem ); -// } -// } -// } -// -// return targetServiceSpec; -// } + private ServiceSpecification copyCharacteristicsOfResourceSpecId(String sourceResourceSpecid, ServiceSpecification targetServiceSpec) { + + ResourceSpecification rSpec = resourceSpecRepoService.findByUuid( sourceResourceSpecid ); + + if ( rSpec != null ) { + for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) { + ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar ); + //serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() ); + serviceSpecCharacteristicItem.setName( sourceChar.getName() ); + + if ( targetServiceSpec.findSpecCharacteristicByName( serviceSpecCharacteristicItem.getName() ) == null ) { + targetServiceSpec.getServiceSpecCharacteristic().add( serviceSpecCharacteristicItem ); + } + } + } + + return targetServiceSpec; + } public ServiceSpecification cloneServiceSpecification(String uuid) { ServiceSpecification source = this.findByUuid(uuid); @@ -1422,11 +1422,11 @@ public class ServiceSpecificationRepoService { -// for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) { -// ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar ); + for (ResourceSpecificationCharacteristic sourceChar : rSpec.getResourceSpecCharacteristic()) { + ServiceSpecCharacteristic serviceSpecCharacteristicItem = copyResourceCharacteristic( sourceChar ); // serviceSpecCharacteristicItem.setName( rSpec.getName() + "::" +sourceChar.getName() ); -// serviceSpec.addServiceSpecCharacteristicItem(serviceSpecCharacteristicItem ); -// } + serviceSpec.addServiceSpecCharacteristicItem(serviceSpecCharacteristicItem ); + } ResourceSpecificationRef resourceSpecRef = new ResourceSpecificationRef(); @@ -1439,25 +1439,25 @@ public class ServiceSpecificationRepoService { return serviceSpec; } -// private ServiceSpecCharacteristic copyResourceCharacteristic( ResourceSpecificationCharacteristic sourceChar ) { -// -// ServiceSpecCharacteristic serviceSpecCharacteristicItem = new ServiceSpecCharacteristic(); -// serviceSpecCharacteristicItem.setDescription( sourceChar.getDescription()); -// serviceSpecCharacteristicItem.valueType( sourceChar.getValueType() ); -// serviceSpecCharacteristicItem.configurable(sourceChar.isConfigurable()); -// serviceSpecCharacteristicItem.setMinCardinality( sourceChar.getMinCardinality() ); -// serviceSpecCharacteristicItem.setMaxCardinality( sourceChar.getMaxCardinality() ); -// serviceSpecCharacteristicItem.setValidFor( sourceChar.getValidFor() ); -// for (ResourceSpecificationCharacteristicValue cv : sourceChar.getResourceSpecCharacteristicValue()) { -// ServiceSpecCharacteristicValue serviceSpecCharacteristicValueItem = new ServiceSpecCharacteristicValue(); -// serviceSpecCharacteristicValueItem.setValue( new Any( cv.getValue().getValue(), cv.getValue().getAlias())); -// serviceSpecCharacteristicValueItem.isDefault( cv.isIsDefault() ); -// serviceSpecCharacteristicValueItem.setUnitOfMeasure( cv.getUnitOfMeasure() ); -// serviceSpecCharacteristicItem.addServiceSpecCharacteristicValueItem(serviceSpecCharacteristicValueItem ); -// } -// return serviceSpecCharacteristicItem; -// } -// + private ServiceSpecCharacteristic copyResourceCharacteristic( ResourceSpecificationCharacteristic sourceChar ) { + + ServiceSpecCharacteristic serviceSpecCharacteristicItem = new ServiceSpecCharacteristic(); + serviceSpecCharacteristicItem.setDescription( sourceChar.getDescription()); + serviceSpecCharacteristicItem.valueType( sourceChar.getValueType() ); + serviceSpecCharacteristicItem.configurable(sourceChar.isConfigurable()); + serviceSpecCharacteristicItem.setMinCardinality( sourceChar.getMinCardinality() ); + serviceSpecCharacteristicItem.setMaxCardinality( sourceChar.getMaxCardinality() ); + serviceSpecCharacteristicItem.setValidFor( sourceChar.getValidFor() ); + for (ResourceSpecificationCharacteristicValue cv : sourceChar.getResourceSpecCharacteristicValue()) { + ServiceSpecCharacteristicValue serviceSpecCharacteristicValueItem = new ServiceSpecCharacteristicValue(); + serviceSpecCharacteristicValueItem.setValue( new Any( cv.getValue().getValue(), cv.getValue().getAlias())); + serviceSpecCharacteristicValueItem.isDefault( cv.isIsDefault() ); + serviceSpecCharacteristicValueItem.setUnitOfMeasure( cv.getUnitOfMeasure() ); + serviceSpecCharacteristicItem.addServiceSpecCharacteristicValueItem(serviceSpecCharacteristicValueItem ); + } + return serviceSpecCharacteristicItem; + } + -- GitLab From f34a9b647ebadd28d9bda9ce81fca3720cd83bfc Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Wed, 19 Jun 2024 01:13:52 +0300 Subject: [PATCH 2/3] fix tests --- pom.xml | 5 ----- .../etsi/osl/services/api/ServiceCatalogIntegrationTest.java | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index e7b37d7..e0222a1 100644 --- a/pom.xml +++ b/pom.xml @@ -75,11 +75,6 @@ pom import - - org.json - json - 20210307 - diff --git a/src/test/java/org/etsi/osl/services/api/ServiceCatalogIntegrationTest.java b/src/test/java/org/etsi/osl/services/api/ServiceCatalogIntegrationTest.java index 6a865af..511e46c 100644 --- a/src/test/java/org/etsi/osl/services/api/ServiceCatalogIntegrationTest.java +++ b/src/test/java/org/etsi/osl/services/api/ServiceCatalogIntegrationTest.java @@ -855,7 +855,7 @@ public class ServiceCatalogIntegrationTest { * */ - assertThat( clonedSpec.getServiceSpecCharacteristic().size() ).isEqualTo( 70 ); + assertThat( clonedSpec.getServiceSpecCharacteristic().size() ).isEqualTo( 71 ); String responseSpecClonedVINNI2 = mvc.perform(MockMvcRequestBuilders.get("/serviceCatalogManagement/v4/serviceSpecification/cloneVINNI?serviceName=aVINNIService") -- GitLab From 113bab7c99a2dc6600e4f6633423cec1f793cd1b Mon Sep 17 00:00:00 2001 From: Christos Tranoris Date: Wed, 19 Jun 2024 12:16:59 +0300 Subject: [PATCH 3/3] fixes to run tests in ide also. related to #41 --- pom.xml | 7 +++++++ .../osl/services/api/ResourceCatalogIntegrationTest.java | 3 ++- .../osl/services/api/ServiceInventoryIntegrationTest.java | 3 ++- .../osl/services/api/sim638/ServiceApiControllerTest.java | 3 ++- .../scm633/ServiceSpecificationRepoServiceTest.java | 3 ++- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index e0222a1..58e5ef2 100644 --- a/pom.xml +++ b/pom.xml @@ -261,6 +261,13 @@ org.springframework.boot spring-boot-starter-test test + + + com.vaadin.external.google + android-json + + + org.springframework.security diff --git a/src/test/java/org/etsi/osl/services/api/ResourceCatalogIntegrationTest.java b/src/test/java/org/etsi/osl/services/api/ResourceCatalogIntegrationTest.java index 926f88a..02aa8e0 100644 --- a/src/test/java/org/etsi/osl/services/api/ResourceCatalogIntegrationTest.java +++ b/src/test/java/org/etsi/osl/services/api/ResourceCatalogIntegrationTest.java @@ -76,6 +76,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; @@ -95,7 +96,7 @@ import net.minidev.json.JSONObject; @RunWith(SpringRunner.class) @Transactional @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.MOCK , classes = OpenAPISpringBoot.class) -//@AutoConfigureTestDatabase //this automatically uses h2 +@AutoConfigureTestDatabase //this automatically uses h2 @AutoConfigureMockMvc @ActiveProfiles("testing") //@TestPropertySource( diff --git a/src/test/java/org/etsi/osl/services/api/ServiceInventoryIntegrationTest.java b/src/test/java/org/etsi/osl/services/api/ServiceInventoryIntegrationTest.java index d31dd72..16ad168 100644 --- a/src/test/java/org/etsi/osl/services/api/ServiceInventoryIntegrationTest.java +++ b/src/test/java/org/etsi/osl/services/api/ServiceInventoryIntegrationTest.java @@ -66,6 +66,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.MediaType; @@ -83,7 +84,7 @@ import org.springframework.web.context.WebApplicationContext; @RunWith(SpringRunner.class) @Transactional @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.MOCK , classes = OpenAPISpringBoot.class) -//@AutoConfigureTestDatabase //this automatically uses h2 +@AutoConfigureTestDatabase //this automatically uses h2 @AutoConfigureMockMvc @ActiveProfiles("testing") //@TestPropertySource( diff --git a/src/test/java/org/etsi/osl/services/api/sim638/ServiceApiControllerTest.java b/src/test/java/org/etsi/osl/services/api/sim638/ServiceApiControllerTest.java index afdebd6..5c59431 100644 --- a/src/test/java/org/etsi/osl/services/api/sim638/ServiceApiControllerTest.java +++ b/src/test/java/org/etsi/osl/services/api/sim638/ServiceApiControllerTest.java @@ -17,6 +17,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.http.HttpStatus; @@ -51,7 +52,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. @RunWith(SpringRunner.class) @Transactional @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.MOCK , classes = OpenAPISpringBoot.class) -//@AutoConfigureTestDatabase //this automatically uses h2 +@AutoConfigureTestDatabase //this automatically uses h2 @AutoConfigureMockMvc @ActiveProfiles("testing") //@TestPropertySource( diff --git a/src/test/java/org/etsi/osl/services/reposervices/scm633/ServiceSpecificationRepoServiceTest.java b/src/test/java/org/etsi/osl/services/reposervices/scm633/ServiceSpecificationRepoServiceTest.java index a3ea0b3..c5e3082 100644 --- a/src/test/java/org/etsi/osl/services/reposervices/scm633/ServiceSpecificationRepoServiceTest.java +++ b/src/test/java/org/etsi/osl/services/reposervices/scm633/ServiceSpecificationRepoServiceTest.java @@ -446,7 +446,8 @@ public class ServiceSpecificationRepoServiceTest { alias = v.getAlias(); assertEquals("PrimitivesList", serviceSpecCharacteristic.getName()); - assertEquals("{\"vnfs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vnf1\",\"vdu-configs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu2\"}]},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vnf2\",\"vdu-configs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu2\"}]}]}", value); +// assertEquals("{\"vnfs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vnf1\",\"vdu-configs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu2\"}]},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vnf2\",\"vdu-configs\":[{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}],\"name\":\"run-touch-command\"}],\"id\":\"vdu2\"}]}]}", value); + assertEquals("{\"vnfs\":[{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vnf1\",\"vdu-configs\":[{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vdu2\"}]},{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vnf2\",\"vdu-configs\":[{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vdu1\"},{\"config-primitive\":[{\"name\":\"run-touch-command\",\"parameter\":[{\"name\":\"filename\",\"data-type\":\"STRING\"}]}],\"id\":\"vdu2\"}]}]}", value); assertEquals("", alias); -- GitLab