fix cvnfc bean and repository access 64/78164/1
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Fri, 8 Feb 2019 22:51:38 +0000 (17:51 -0500)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Fri, 8 Feb 2019 22:53:02 +0000 (17:53 -0500)
update repository id field type for
fix cvnfc bean and repository access

Change-Id: Ic4785387ffdbb544e649d9e7be40aed5e0ab9502
Issue-ID: SO-1489
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CvnfcCatalogDbQueryTest.java
adapters/mso-catalog-db-adapter/src/test/resources/db/migration/afterMigrate.sql
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CvnfcCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfVfmoduleCvnfcConfigurationCustomization.java
mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/CvnfcCustomizationRepository.java
mso-catalog-db/src/test/java/org/onap/so/db/catalog/data/repository/CvnfcCustomizationRepositoryTest.java

index 2a5a739..aeee279 100644 (file)
@@ -25,14 +25,25 @@ import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.so.adapters.catalogdb.CatalogDBApplication;
+import org.onap.so.db.catalog.beans.ConfigurationResource;
 import org.onap.so.db.catalog.beans.CvnfcCustomization;
+import org.onap.so.db.catalog.beans.VfModule;
+import org.onap.so.db.catalog.beans.VfModuleCustomization;
+import org.onap.so.db.catalog.beans.VnfResource;
+import org.onap.so.db.catalog.beans.VnfResourceCustomization;
+import org.onap.so.db.catalog.beans.VnfVfmoduleCvnfcConfigurationCustomization;
+import org.onap.so.db.catalog.beans.VnfcCustomization;
 import org.onap.so.db.catalog.client.CatalogDbClientPortChanger;
+import org.onap.so.db.catalog.data.repository.CvnfcCustomizationRepository;
 import org.onap.so.logger.MsoLogger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.web.server.LocalServerPort;
@@ -47,6 +58,9 @@ import org.springframework.beans.BeanUtils;
 @ActiveProfiles("test")
 public class CvnfcCatalogDbQueryTest {
 
+    @Autowired
+    private CvnfcCustomizationRepository cvnfcCustomizationRepository;
+    
        private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, CvnfcCatalogDbQueryTest.class);
 
        @LocalServerPort
@@ -64,7 +78,7 @@ public class CvnfcCatalogDbQueryTest {
        @Test
        public void cVnfcTest() {
                
-       CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
+       CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization("dadc2c8c-2bab-11e9-b210-d663bd873d93");
        
                List<CvnfcCustomization> foundCvnfcCustomization = client.getCvnfcCustomizationByVnfCustomizationUUIDAndVfModuleCustomizationUUID("68dc9a92-214c-11e7-93ae-92361f002671","cb82ffd8-252a-11e7-93ae-92361f002671");
                assertNotNull(foundCvnfcCustomization);
@@ -81,9 +95,83 @@ public class CvnfcCatalogDbQueryTest {
                        .ignoring("vnfResourceCusteModelCustomizationUUID"));
        }
        
-    protected CvnfcCustomization setUpCvnfcCustomization(){
+       @Test
+       public void getLinkedVnfVfmoduleCvnfcConfigurationCustomizationTest() {
+               
+       CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization("0c042562-2bac-11e9-b210-d663bd873d93");
+       
+       VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
+       vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
+       cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
+       
+               ConfigurationResource configurationResource = new ConfigurationResource();
+               configurationResource.setToscaNodeType("FabricConfiguration");
+               configurationResource.setModelInvariantUUID("modelInvariantUUID");
+               configurationResource.setModelUUID("modelUUID");
+               configurationResource.setModelName("modelName");
+               configurationResource.setModelVersion("modelVersion");
+               configurationResource.setDescription("description");
+               configurationResource.setToscaNodeType("toscaNodeTypeFC");
+               
+               VnfResource vnfResource = new VnfResource();
+               vnfResource.setModelUUID("6f19c5fa-2b19-11e9-b210-d663bd873d93");
+               vnfResource.setModelVersion("modelVersion");
+               vnfResource.setOrchestrationMode("orchestrationMode");
+               
+               VfModule vfModule = new VfModule();
+               vfModule.setModelUUID("98aa2a6e-2b18-11e9-b210-d663bd873d93");
+               vfModule.setModelInvariantUUID("9fe57860-2b18-11e9-b210-d663bd873d93");
+               vfModule.setIsBase(true);
+               vfModule.setModelName("modelName");
+               vfModule.setModelVersion("modelVersion");
+               vfModule.setVnfResources(vnfResource);
+               
+       VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
+       vfModuleCustomization.setModelCustomizationUUID("bdbf984a-2b16-11e9-b210-d663bd873d93");
+       vfModuleCustomization.setVfModule(vfModule);
+       cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
+       
+       VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
+       vnfResourceCustomization.setModelCustomizationUUID("6912dd02-2b16-11e9-b210-d663bd873d93"); 
+       vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
+       vnfResourceCustomization.setVnfResources(vnfResource);
+       cvnfcCustomization.setVnfResourceCustomization(vnfResourceCustomization);
+       
+       VnfVfmoduleCvnfcConfigurationCustomization vnfVfmoduleCvnfcConfigurationCustomization = new VnfVfmoduleCvnfcConfigurationCustomization();
+       vnfVfmoduleCvnfcConfigurationCustomization.setConfigurationFunction("configurationFunction");
+       vnfVfmoduleCvnfcConfigurationCustomization.setModelCustomizationUUID("64627fec-2b1b-11e9-b210-d663bd873d93");
+       vnfVfmoduleCvnfcConfigurationCustomization.setConfigurationResource(configurationResource);
+       vnfVfmoduleCvnfcConfigurationCustomization.setCvnfcCustomization(cvnfcCustomization);
+       vnfVfmoduleCvnfcConfigurationCustomization.setModelInstanceName("modelInstanceName");
+       vnfVfmoduleCvnfcConfigurationCustomization.setVfModuleCustomization(vfModuleCustomization);
+       vnfVfmoduleCvnfcConfigurationCustomization.setVnfResourceCustomization(vnfResourceCustomization);
+       
+       Set<VnfVfmoduleCvnfcConfigurationCustomization> vnfVfmoduleCvnfcConfigurationCustomizationSet = new HashSet<VnfVfmoduleCvnfcConfigurationCustomization>();
+       vnfVfmoduleCvnfcConfigurationCustomizationSet.add(vnfVfmoduleCvnfcConfigurationCustomization);
+       cvnfcCustomization.setVnfVfmoduleCvnfcConfigurationCustomization(vnfVfmoduleCvnfcConfigurationCustomizationSet);
+       
+       vnfVfmoduleCvnfcConfigurationCustomization.setCvnfcCustomization(cvnfcCustomization);
+       
+       cvnfcCustomizationRepository.save(cvnfcCustomization);
+       
+               List<CvnfcCustomization> foundCvnfcCustomization = client.getCvnfcCustomizationByVnfCustomizationUUIDAndVfModuleCustomizationUUID("6912dd02-2b16-11e9-b210-d663bd873d93","bdbf984a-2b16-11e9-b210-d663bd873d93");
+               assertNotNull(foundCvnfcCustomization);
+               assertTrue(foundCvnfcCustomization.size() > 0);
+               CvnfcCustomization found = foundCvnfcCustomization.get(0);
+
+        Set<VnfVfmoduleCvnfcConfigurationCustomization>  vnfVfmoduleCvnfcConfigurationCustomizations =  found.getVnfVfmoduleCvnfcConfigurationCustomization();
+        if (vnfVfmoduleCvnfcConfigurationCustomizations.size() > 0){
+               for(VnfVfmoduleCvnfcConfigurationCustomization customization : vnfVfmoduleCvnfcConfigurationCustomizations) {
+                       Assert.assertTrue(customization.getConfigurationResource().getToscaNodeType().equalsIgnoreCase("toscaNodeTypeFC"));
+               }
+        } else {
+               Assert.fail("No linked VnfVfmoduleCvnfcConfigurationCustomization found for CvnfcCustomization");
+        }
+       }
+       
+    protected CvnfcCustomization setUpCvnfcCustomization(String id){
        CvnfcCustomization cvnfcCustomization = new CvnfcCustomization();
-       cvnfcCustomization.setModelCustomizationUUID("9bcce658-9b37-11e8-98d0-529269fb1459");
+       cvnfcCustomization.setModelCustomizationUUID(id);
        cvnfcCustomization.setModelInstanceName("testModelInstanceName");
        cvnfcCustomization.setModelUUID("b25735fe-9b37-11e8-98d0-529269fb1459");
        cvnfcCustomization.setModelInvariantUUID("ba7e6ef0-9b37-11e8-98d0-529269fb1459");
@@ -95,4 +183,16 @@ public class CvnfcCatalogDbQueryTest {
        cvnfcCustomization.setNfcNamingCode("testNfcNamingCode");
        return cvnfcCustomization;
     }
+    
+    protected VnfcCustomization setUpVnfcCustomization(){
+       VnfcCustomization vnfcCustomization = new VnfcCustomization();
+       vnfcCustomization.setModelInstanceName("testVnfcCustomizationModelInstanceName");
+       vnfcCustomization.setModelUUID("321228a4-9f15-11e8-98d0-529269fb1459");
+       vnfcCustomization.setModelInvariantUUID("c0659136-9f15-11e8-98d0-529269fb1459");
+       vnfcCustomization.setModelVersion("testModelVersion");
+       vnfcCustomization.setModelName("testModelName");
+       vnfcCustomization.setToscaNodeType("testToscaModelType");
+       vnfcCustomization.setDescription("testVnfcCustomizationDescription");
+       return vnfcCustomization;
+    }
 }
index 75015e5..1223080 100644 (file)
@@ -279,7 +279,7 @@ INSERT INTO `cvnfc_customization`
              `vf_module_cust_model_customization_uuid`,
              `vnfc_cust_model_customization_uuid`)
 VALUES      ( '1',
-              '9bcce658-9b37-11e8-98d0-529269fb1459',
+              'dadc2c8c-2bab-11e9-b210-d663bd873d93',
               'testModelInstanceName',
               'b25735fe-9b37-11e8-98d0-529269fb1459',
               'ba7e6ef0-9b37-11e8-98d0-529269fb1459',
index c02b1e3..b1ad0de 100644 (file)
@@ -107,7 +107,7 @@ public class CvnfcCustomization implements Serializable {
        @JoinColumn(name = "VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID")
        private VnfResourceCustomization vnfResourceCustomization;
        
-       @OneToMany(cascade = CascadeType.ALL, mappedBy = "modelCustomizationUUID")
+       @OneToMany(cascade = CascadeType.ALL, mappedBy = "cvnfcCustomization")
        private Set<VnfVfmoduleCvnfcConfigurationCustomization> vnfVfmoduleCvnfcConfigurationCustomization;
 
        @Override
index 8ef797f..f5e9b5f 100644 (file)
@@ -44,6 +44,8 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.openpojo.business.annotation.BusinessKey;
 
+import uk.co.blackpepper.bowman.annotation.LinkedResource;
+
 @Entity
 @Table(name = "vnf_vfmodule_cvnfc_configuration_customization")
 public class VnfVfmoduleCvnfcConfigurationCustomization implements Serializable {
@@ -202,6 +204,7 @@ public class VnfVfmoduleCvnfcConfigurationCustomization implements Serializable
                this.created = created;
        }
 
+       @LinkedResource
        public ConfigurationResource getConfigurationResource() {
                return configurationResource;
        }
index a4281ae..059d0da 100644 (file)
@@ -29,7 +29,7 @@ import org.springframework.data.repository.query.Param;
 import org.springframework.data.rest.core.annotation.RepositoryRestResource;
 
 @RepositoryRestResource(collectionResourceRel = "cvnfcCustomization", path = "cvnfcCustomization")
-public interface CvnfcCustomizationRepository extends JpaRepository<CvnfcCustomization, String> {
+public interface CvnfcCustomizationRepository extends JpaRepository<CvnfcCustomization, Integer> {
        CvnfcCustomization findOneByModelCustomizationUUID(String modelCustomizationUuid);
        List<CvnfcCustomization> findByModelCustomizationUUID(String modelCustomizationUUID);
        
index 63bd99f..8de5366 100644 (file)
@@ -24,16 +24,20 @@ import static com.shazam.shazamcrest.MatcherAssert.assertThat;
 import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.so.db.catalog.BaseTest;
+import org.onap.so.db.catalog.beans.ConfigurationResource;
 import org.onap.so.db.catalog.beans.CvnfcCustomization;
 import org.onap.so.db.catalog.beans.VfModule;
 import org.onap.so.db.catalog.beans.VfModuleCustomization;
 import org.onap.so.db.catalog.beans.VnfResource;
 import org.onap.so.db.catalog.beans.VnfResourceCustomization;
+import org.onap.so.db.catalog.beans.VnfVfmoduleCvnfcConfigurationCustomization;
 import org.onap.so.db.catalog.beans.VnfcCustomization;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -251,4 +255,84 @@ public class CvnfcCustomizationRepositoryTest extends BaseTest {
        }
        Assert.assertTrue(matchFound);
     }
+    
+    @Test
+    @Transactional
+    public void createAndGetCvnfcCustomizationsExtractToscaModelTest() throws Exception {
+                       
+       CvnfcCustomization cvnfcCustomization = setUpCvnfcCustomization();
+       cvnfcCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
+
+       VfModuleCustomization vfModuleCustomization = new VfModuleCustomization();
+       vfModuleCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459");
+       
+       VfModule vFModule = setUpVfModule();
+       VnfResource vnfResource = setUpVnfResource();
+
+       vFModule.setVnfResources(vnfResource);
+       vfModuleCustomization.setVfModule(vFModule);
+       cvnfcCustomization.setVfModuleCustomization(vfModuleCustomization);
+       
+       VnfResourceCustomization vnfResourceCustomization = new VnfResourceCustomization();
+       vnfResourceCustomization.setModelCustomizationUUID("cf9f6efc-9f14-11e8-98d0-529269fb1459"); 
+       vnfResourceCustomization.setModelInstanceName("testModelInstanceName");
+       
+       List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList();
+       vnfResourceCustomizations.add(vnfResourceCustomization);
+       vnfResource.setVnfResourceCustomizations(vnfResourceCustomizations);
+       vnfResourceCustomization.setVnfResources(vnfResource);
+       
+       cvnfcCustomization.setVnfResourceCustomization(vnfResourceCustomization);
+       
+       VnfcCustomization vnfcCustomization = setUpVnfcCustomization();
+       vnfcCustomization.setModelCustomizationUUID("d95d704a-9ff2-11e8-98d0-529269fb1459");
+       cvnfcCustomization.setVnfcCustomization(vnfcCustomization);
+       
+               ConfigurationResource configurationResource = new ConfigurationResource();
+               configurationResource.setToscaNodeType("FabricConfiguration");
+               configurationResource.setModelInvariantUUID("modelInvariantUUID");
+               configurationResource.setModelUUID("modelUUID");
+               configurationResource.setModelName("modelName");
+               configurationResource.setModelVersion("modelVersion");
+               configurationResource.setDescription("description");
+               configurationResource.setToscaNodeType("toscaNodeType");
+               
+       VnfVfmoduleCvnfcConfigurationCustomization vnfVfmoduleCvnfcConfigurationCustomization = new VnfVfmoduleCvnfcConfigurationCustomization();
+       vnfVfmoduleCvnfcConfigurationCustomization.setConfigurationFunction("configurationFunction");
+       vnfVfmoduleCvnfcConfigurationCustomization.setModelCustomizationUUID("modelCustomizationUUID");
+       vnfVfmoduleCvnfcConfigurationCustomization.setConfigurationResource(configurationResource);
+       vnfVfmoduleCvnfcConfigurationCustomization.setCvnfcCustomization(cvnfcCustomization);
+       vnfVfmoduleCvnfcConfigurationCustomization.setModelInstanceName("modelInstanceName");
+       vnfVfmoduleCvnfcConfigurationCustomization.setVfModuleCustomization(vfModuleCustomization);
+       vnfVfmoduleCvnfcConfigurationCustomization.setVnfResourceCustomization(vnfResourceCustomization);
+       
+       Set<VnfVfmoduleCvnfcConfigurationCustomization> vnfVfmoduleCvnfcConfigurationCustomizationSet = new HashSet<VnfVfmoduleCvnfcConfigurationCustomization>();
+       vnfVfmoduleCvnfcConfigurationCustomizationSet.add(vnfVfmoduleCvnfcConfigurationCustomization);
+       cvnfcCustomization.setVnfVfmoduleCvnfcConfigurationCustomization(vnfVfmoduleCvnfcConfigurationCustomizationSet);
+       
+       cvnfcCustomizationRepository.save(cvnfcCustomization);
+       
+       List<CvnfcCustomization> cvnfcCustomizationList = cvnfcCustomizationRepository.findByVnfResourceCustomizationAndVfModuleCustomization("cf9f6efc-9f14-11e8-98d0-529269fb1459","cf9f6efc-9f14-11e8-98d0-529269fb1459");
+       boolean matchFound = false;
+       for (CvnfcCustomization foundCvnfcCustomization : cvnfcCustomizationList) {
+               if (foundCvnfcCustomization.getDescription().equalsIgnoreCase(cvnfcCustomization.getDescription())) {
+               
+               assertThat(cvnfcCustomization, sameBeanAs(foundCvnfcCustomization)
+                               .ignoring("id")
+                               .ignoring("created")
+                               .ignoring("vnfVfmoduleCvnfcConfigurationCustomization")
+                               .ignoring("vnfResourceCusteModelCustomizationUUID"));
+               
+               matchFound = true;
+               
+               Set<VnfVfmoduleCvnfcConfigurationCustomization>  vnfVfmoduleCvnfcConfigurationCustomizations =  foundCvnfcCustomization.getVnfVfmoduleCvnfcConfigurationCustomization();
+               for(VnfVfmoduleCvnfcConfigurationCustomization customization : vnfVfmoduleCvnfcConfigurationCustomizations) {
+                       Assert.assertTrue(customization.getConfigurationResource().getToscaNodeType().equalsIgnoreCase("toscaNodeType"));
+               }
+               break;
+               }
+       }
+       Assert.assertTrue(matchFound);
+       
+    }
 }