diff options
Diffstat (limited to 'packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/ASDCITCase.java')
-rw-r--r-- | packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/ASDCITCase.java | 497 |
1 files changed, 497 insertions, 0 deletions
diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/ASDCITCase.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/ASDCITCase.java new file mode 100644 index 0000000000..47b261afd6 --- /dev/null +++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/asdc/ASDCITCase.java @@ -0,0 +1,497 @@ +package org.openecomp.mso.global_tests.asdc; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Method; +import java.net.URISyntaxException; +import java.security.NoSuchAlgorithmException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.OperateOnDeployment; +import org.jboss.arquillian.container.test.api.Testable; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.shrinkwrap.resolver.api.maven.Maven; +import org.junit.After; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.AfterClass; +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.openecomp.sdc.api.consumer.IDistributionStatusMessage; +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.IResourceInstance; +import org.openecomp.sdc.api.notification.IVfModuleMetadata; +import org.openecomp.sdc.utils.DistributionStatusEnum; +import org.openecomp.mso.asdc.client.ASDCConfiguration; +import org.openecomp.mso.asdc.client.ASDCController; +import org.openecomp.mso.asdc.client.exceptions.ASDCControllerException; +import org.openecomp.mso.asdc.client.exceptions.ASDCParametersException; +import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException; +import org.openecomp.mso.db.catalog.CatalogDatabase; +import org.openecomp.mso.db.catalog.beans.HeatEnvironment; +import org.openecomp.mso.db.catalog.beans.HeatFiles; +import org.openecomp.mso.db.catalog.beans.HeatTemplate; +import org.openecomp.mso.db.catalog.beans.Service; +import org.openecomp.mso.db.catalog.beans.VfModule; +import org.openecomp.mso.db.catalog.beans.VnfResource; +import org.openecomp.mso.global_tests.ArquillianPackagerForITCases; +import org.openecomp.mso.global_tests.asdc.notif_emulator.DistributionClientEmulator; +import org.openecomp.mso.global_tests.asdc.notif_emulator.JsonNotificationData; + +@RunWith(Arquillian.class) +public class ASDCITCase { + + /** + * Add the resources in the right folder of a jar + * @param jar The jarArchive + * @param dir The main dir containing things that must be added + * @throws Exception In case of issues with the files + */ + private static void addFiles(JavaArchive jar, File dir,String destFolder) throws Exception { + + if (!dir.isDirectory()) { + throw new Exception("not a directory"); + } + for (File f : dir.listFiles()) { + + + if (f.isFile()) { + jar.addAsResource(f, destFolder + "/" + f.getName()); + } else { + + addFiles(jar, f, destFolder+"/"+f.getName()); + } + } + } + + @Deployment(name="asdc-controller",testable=true) + public static Archive<?> createAsdcControllerWarDeployment () throws Exception { + System.out.println("Deploying ASDC Controller WAR with additional resources on default server"); + + WebArchive warArchive = (WebArchive)ArquillianPackagerForITCases.createPackageFromExistingOne("../../asdc-controller/target/", "asdc-controller*.war", "asdc-controller.war"); + + // Add the current test class + JavaArchive testclasses = ShrinkWrap.create (JavaArchive.class, "testClasses.jar"); + + testclasses.addPackage("org.openecomp.mso.global_tests.asdc.notif_emulator"); + + addFiles(testclasses,new File(Thread.currentThread().getContextClassLoader().getResource("resource-examples/asdc").getFile()),"resource-examples/asdc"); + + System.out.println(testclasses.toString(true)); + warArchive.addAsLibraries(testclasses); + + + + // BE CAREFUL a settings.xml file must be located in ${home.user}/.m2/settings.xml + warArchive.addAsLibraries(Maven.resolver() + .resolve("org.mockito:mockito-all:1.10.19") + .withoutTransitivity () + .asFile ()); + + //warArchive.addPackage("org.openecomp.mso.global_tests.asdc.notif_emulator"); + //addFiles(warArchive,new File(ASDCITCase.class.getClassLoader().getResource("resource-examples").getPath()),"resource-examples"); + + // Take one war randomly to make arquilian happy + Testable.archiveToTest(warArchive); + + + System.out.println(warArchive.toString(true)); + + return warArchive; + } + + @BeforeClass + public static final void waitBeforeStart() throws InterruptedException, + IOException, + URISyntaxException, + NoSuchAlgorithmException { + System.out.println("Executing " + ASDCITCase.class.getName()); + } + + @AfterClass + public static final void waitAfterStart() throws InterruptedException, + IOException, + URISyntaxException, + NoSuchAlgorithmException { + System.out.println("Waiting 60000ms " + ASDCITCase.class.getName()); + Thread.sleep(60000); + } + + /** + * Be careful when using that notification fake structure, the UUID of notif artifacts MUST be different. + * There is a static Map behind the scene. + */ + private JsonNotificationData notifDataWithoutModuleInfo; + private DistributionClientEmulator distribClientWithoutModuleInfo; + + private JsonNotificationData notifDataV1, notifDataV2, notifDataV3, notifDataV4, notifDataV5,notifDataDNS,notifDataVFW; + private DistributionClientEmulator distribClientV1, distribClientV2, distribClientV3, distribClientV4, distribClientV5, distribClientV1ForSameNotif, distribClientDNS,distribClientVFW; + + + @Before + public final void beforeEachTest() throws IOException { + + distribClientV1= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V1"); + distribClientV1ForSameNotif= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V1"); + notifDataV1 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V1"); + + // This is a duplicate in version 2 of the version 1 + distribClientV2= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V2"); + notifDataV2 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V2"); + + distribClientV3= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V3"); + notifDataV3 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V3"); + + // This is a duplicate in version 4 of the version 3 + distribClientV4= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V4"); + notifDataV4 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V4"); + + // This notification is to test the deployment of volume with nested + an artifact not used (should send notification with DEPLOY_ERROR + distribClientV5= new DistributionClientEmulator("/resource-examples/asdc/simpleNotif-V5"); + notifDataV5 = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/simpleNotif-V5"); + + + distribClientWithoutModuleInfo= new DistributionClientEmulator("/resource-examples/asdc/notif-without-modules-metadata"); + notifDataWithoutModuleInfo = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/notif-without-modules-metadata"); + + + distribClientDNS= new DistributionClientEmulator("/resource-examples/asdc/demo-dns-V1"); + notifDataDNS = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/demo-dns-V1"); + + + distribClientVFW= new DistributionClientEmulator("/resource-examples/asdc/demo-vfw-V1"); + notifDataVFW = JsonNotificationData.instantiateNotifFromJsonFile("/resource-examples/asdc/demo-vfw-V1"); + + + } + + @Test + @OperateOnDeployment("asdc-controller") + public void testNotifWithoutModuleInfo () throws NoSuchAlgorithmException, + IOException, + URISyntaxException, + ArtifactInstallerException, ASDCControllerException, ASDCParametersException { + + + + ASDCController asdcController = new ASDCController("asdc-controller1", distribClientWithoutModuleInfo); + asdcController.initASDC(); + asdcController.treatNotification(notifDataWithoutModuleInfo); + + assertTrue(distribClientWithoutModuleInfo.getDistributionMessageReceived().size() > 0); + + int badDeployment=0; + for (IDistributionStatusMessage message:distribClientWithoutModuleInfo.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + if(message.getStatus().equals(DistributionStatusEnum.DEPLOY_ERROR)) { + badDeployment++; + } + } + assertTrue(badDeployment == 3); + + // Check if something has been recorder in DB, as it should not + CatalogDatabase catalogDB = new CatalogDatabase(); + + HeatTemplate heatTemplate = catalogDB.getHeatTemplate("Whot-nimbus-oam_v1.0.yaml", "1.0", "resourceName-1"); + assertNull(heatTemplate); + } + + private void validateVnfResource(JsonNotificationData inputNotification,List<IVfModuleMetadata> moduleList) { + + CatalogDatabase catalogDB = new CatalogDatabase(); + + + for (IResourceInstance resource:inputNotification.getResources()) { + VnfResource vnfResourceDB = catalogDB.getVnfResource(inputNotification.getServiceName()+"/"+resource.getResourceInstanceName(), inputNotification.getServiceVersion()); + assertNotNull(vnfResourceDB); + + assertTrue(vnfResourceDB.getAsdcUuid().equals(resource.getResourceUUID())); + assertTrue(vnfResourceDB.getDescription().equals(inputNotification.getServiceDescription())); + assertTrue(vnfResourceDB.getModelInvariantUuid().equals(resource.getResourceInvariantUUID())); + assertTrue(vnfResourceDB.getModelVersion().equals(resource.getResourceVersion())); + assertTrue(vnfResourceDB.getOrchestrationMode().equals("HEAT")); + assertTrue(vnfResourceDB.getVersion().equals(inputNotification.getServiceVersion())); + assertTrue(vnfResourceDB.getVnfType().equals(inputNotification.getServiceName()+"/"+resource.getResourceInstanceName())); + assertTrue(vnfResourceDB.getModelCustomizationName().equals(resource.getResourceInstanceName())); + assertTrue(vnfResourceDB.getModelName().equals(resource.getResourceName())); + assertTrue(vnfResourceDB.getServiceModelInvariantUUID().equals(inputNotification.getServiceInvariantUUID())); + + for (IVfModuleMetadata module:moduleList) { + + VfModule vfModuleDB = catalogDB.getVfModuleModelName(module.getVfModuleModelName(),inputNotification.getServiceVersion()); + assertNotNull(vfModuleDB); + assertTrue(module.getVfModuleModelName().equals(vfModuleDB.getModelName())); + + assertTrue((inputNotification.getServiceName()+"/"+resource.getResourceInstanceName()+"::"+vfModuleDB.getModelName()).equals(vfModuleDB.getType())); + assertTrue(vnfResourceDB.getId()!=0); + assertNotNull(vfModuleDB.getVnfResourceId()); + + assertTrue(vnfResourceDB.getId()==vfModuleDB.getVnfResourceId().intValue()); + + for (String artifactUUID:module.getArtifacts()) { + IArtifactInfo artifact = null; + for (IArtifactInfo artifactTemp:resource.getArtifacts()) { + if (artifactTemp.getArtifactUUID().equals(artifactUUID)) { + artifact = artifactTemp; + break; + } + } + assertNotNull(artifact); + + switch (artifact.getArtifactType()) { + case ASDCConfiguration.HEAT: + HeatTemplate heatTemplateDB= catalogDB.getHeatTemplate(vfModuleDB.getTemplateId()); + assertNotNull(heatTemplateDB); + assertTrue(heatTemplateDB.getAsdcResourceName().equals(resource.getResourceName())); + assertTrue(heatTemplateDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(heatTemplateDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(heatTemplateDB.getTemplateBody() != null && !heatTemplateDB.getTemplateBody().isEmpty()); + assertTrue(heatTemplateDB.getParameters().size()>0); + + assertTrue(heatTemplateDB.getTemplateName().equals(artifact.getArtifactName())); + + if (artifact.getArtifactTimeout() != null) { + assertTrue(heatTemplateDB.getTimeoutMinutes()== artifact.getArtifactTimeout().intValue()); + } else { + assertTrue(heatTemplateDB.getTimeoutMinutes()== 240); + } + assertTrue(heatTemplateDB.getVersion().equals(artifact.getArtifactVersion())); + + assertFalse(heatTemplateDB.getTemplateBody().contains("file:///")); + break; + case ASDCConfiguration.HEAT_ENV: + + HeatEnvironment heatEnvironmentDB = catalogDB.getHeatEnvironment(artifact.getArtifactName(), artifact.getArtifactVersion(), inputNotification.getServiceName()+"/"+resource.getResourceInstanceName()); + + assertNotNull(heatEnvironmentDB); + assertTrue((vfModuleDB.getVolEnvironmentId() != null && vfModuleDB.getVolEnvironmentId().intValue() == heatEnvironmentDB.getId()) + || (vfModuleDB.getEnvironmentId() != null && vfModuleDB.getEnvironmentId() == heatEnvironmentDB.getId())); + + assertTrue(heatEnvironmentDB.getAsdcResourceName().equals(inputNotification.getServiceName()+"/"+resource.getResourceInstanceName())); + + assertTrue(heatEnvironmentDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(heatEnvironmentDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(heatEnvironmentDB.getVersion().equals(artifact.getArtifactVersion())); + assertTrue(heatEnvironmentDB.getName().equals(artifact.getArtifactName())); + assertTrue(heatEnvironmentDB.getEnvironment() != null); + assertFalse(heatEnvironmentDB.getEnvironment().contains("file:///")); + + break; + case ASDCConfiguration.HEAT_NESTED: + Map<String,Object> listNestedDBMainHeat=new HashMap<String,Object>(); + Map<String,Object> listNestedDBVolHeat=new HashMap<String,Object>(); + + if (vfModuleDB.getTemplateId() != null) { + listNestedDBMainHeat = catalogDB.getNestedTemplates(vfModuleDB.getTemplateId()); + } + if (vfModuleDB.getVolTemplateId() != null) { + listNestedDBVolHeat = catalogDB.getNestedTemplates(vfModuleDB.getVolTemplateId()); + } + + assertTrue(listNestedDBMainHeat.size() > 0 || listNestedDBVolHeat.size() > 0); + + + assertTrue(listNestedDBMainHeat.get(artifact.getArtifactName()) != null + || listNestedDBVolHeat.get(artifact.getArtifactName()) != null); + + HeatTemplate rightNestedTemplateDB = catalogDB.getHeatTemplate(artifact.getArtifactName(), artifact.getArtifactVersion(), resource.getResourceName()); + assertNotNull(rightNestedTemplateDB); + assertTrue(catalogDB.getNestedHeatTemplate(vfModuleDB.getTemplateId(), rightNestedTemplateDB.getId()) != null || catalogDB.getNestedHeatTemplate(vfModuleDB.getVolTemplateId(), rightNestedTemplateDB.getId()) != null); + + assertTrue(rightNestedTemplateDB.getAsdcResourceName().equals(resource.getResourceName())); + assertTrue(rightNestedTemplateDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(rightNestedTemplateDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(rightNestedTemplateDB.getTemplateBody() != null && !rightNestedTemplateDB.getTemplateBody().isEmpty()); + assertTrue(rightNestedTemplateDB.getTemplateName().equals(artifact.getArtifactName())); + + if (artifact.getArtifactTimeout() != null) { + assertTrue(rightNestedTemplateDB.getTimeoutMinutes()== artifact.getArtifactTimeout().intValue()); + } else { + assertTrue(rightNestedTemplateDB.getTimeoutMinutes()== 240); + } + assertTrue(rightNestedTemplateDB.getVersion().equals(artifact.getArtifactVersion())); + assertFalse(rightNestedTemplateDB.getTemplateBody().contains("file:///")); + + break; + case ASDCConfiguration.HEAT_VOL: + HeatTemplate heatTemplateVolDB = catalogDB.getHeatTemplate(vfModuleDB.getVolTemplateId()); + assertNotNull(heatTemplateVolDB); + + assertTrue(heatTemplateVolDB.getAsdcResourceName().equals(resource.getResourceName())); + assertTrue(heatTemplateVolDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(heatTemplateVolDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(heatTemplateVolDB.getTemplateBody() != null && !heatTemplateVolDB.getTemplateBody().isEmpty()); + assertTrue(heatTemplateVolDB.getTemplateName().equals(artifact.getArtifactName())); + + if (artifact.getArtifactTimeout() != null) { + assertTrue(heatTemplateVolDB.getTimeoutMinutes()== artifact.getArtifactTimeout().intValue()); + } else { + assertTrue(heatTemplateVolDB.getTimeoutMinutes()== 240); + } + assertTrue(heatTemplateVolDB.getVersion().equals(artifact.getArtifactVersion())); + assertFalse(heatTemplateVolDB.getTemplateBody().contains("file:///")); + + break; + case ASDCConfiguration.HEAT_ARTIFACT: + Map<String,HeatFiles> heatFilesDB= catalogDB.getHeatFilesForVfModule(vfModuleDB.getId()); + assertTrue(heatFilesDB.size()>0); + HeatFiles rightHeatFilesDB=heatFilesDB.get( artifact.getArtifactName()); + assertNotNull(rightHeatFilesDB); + + assertTrue(rightHeatFilesDB.getAsdcResourceName().equals(resource.getResourceName())); + assertTrue(rightHeatFilesDB.getAsdcUuid().equals(artifact.getArtifactUUID())); + assertTrue(rightHeatFilesDB.getDescription().equals(artifact.getArtifactDescription())); + assertTrue(rightHeatFilesDB.getFileBody() != null && !rightHeatFilesDB.getFileBody().isEmpty()); + assertTrue(rightHeatFilesDB.getFileName().equals( artifact.getArtifactName())); + assertTrue(rightHeatFilesDB.getVersion().equals(artifact.getArtifactVersion())); + + break; + default: + break; + + } + } + + } + + } + + Service service = catalogDB.getServiceByUUID(inputNotification.getServiceUUID()); + assertNotNull(service); + assertTrue(service.getCreated() !=null && service.getCreated().getTime()>0); + assertTrue(service.getDescription().equals(inputNotification.getServiceDescription())); + assertTrue(service.getId()>0); + assertTrue(service.getModelInvariantUUID().equals(inputNotification.getServiceInvariantUUID())); + assertTrue(service.getServiceName().equals(inputNotification.getServiceName())); + assertTrue(service.getServiceNameVersionId().equals(inputNotification.getServiceUUID())); + assertTrue(service.getVersion().equals(inputNotification.getServiceVersion())); + + } + + @Test + @OperateOnDeployment("asdc-controller") + public void testNotifsDeployment () throws NoSuchAlgorithmException, + IOException, + URISyntaxException, + ArtifactInstallerException, ASDCControllerException, ASDCParametersException { + + + + ASDCController asdcControllerV1 = new ASDCController("asdc-controller1", distribClientV1); + asdcControllerV1.initASDC(); + asdcControllerV1.treatNotification(notifDataV1); + + assertTrue(distribClientV1.getDistributionMessageReceived().size() > 0); + for (IDistributionStatusMessage message:distribClientV1.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataV1,distribClientV1.getListVFModuleMetaData()); + + + + // Try again to load the same notif + ASDCController asdcControllerNewNotif = new ASDCController("asdc-controller1", distribClientV1ForSameNotif); + asdcControllerNewNotif.initASDC(); + asdcControllerNewNotif.treatNotification(notifDataV1); + + for (IDistributionStatusMessage message:distribClientV1ForSameNotif.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.ALREADY_DEPLOYED) || message.getStatus().equals(DistributionStatusEnum.ALREADY_DOWNLOADED)); + } + + + // Try again to load same notif but in V2 + ASDCController asdcControllerV2 = new ASDCController("asdc-controller1", distribClientV2); + asdcControllerV2.initASDC(); + asdcControllerV2.treatNotification(notifDataV2); + + for (IDistributionStatusMessage message:distribClientV2.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataV2,distribClientV2.getListVFModuleMetaData()); + + + // Try again to load same notif + Script + Volume artifacts and in service V3 + ASDCController asdcControllerV3 = new ASDCController("asdc-controller1", distribClientV3); + asdcControllerV3.initASDC(); + asdcControllerV3.treatNotification(notifDataV3); + + for (IDistributionStatusMessage message:distribClientV3.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataV3,distribClientV3.getListVFModuleMetaData()); + + // Try again to load same notif + Script + Volume artifacts and in service V4 + ASDCController asdcControllerV4 = new ASDCController("asdc-controller1", distribClientV4); + asdcControllerV4.initASDC(); + asdcControllerV4.treatNotification(notifDataV4); + + for (IDistributionStatusMessage message:distribClientV4.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataV4,distribClientV4.getListVFModuleMetaData()); + + + // Try again with service V5 (Nested template attached to Volume + HEat artifact not used by module), + //this should force the notification DEPLOY_ERROR to be sent for this artifact + ASDCController asdcControllerV5 = new ASDCController("asdc-controller1", distribClientV5); + asdcControllerV5.initASDC(); + asdcControllerV5.treatNotification(notifDataV5); + + for (IDistributionStatusMessage message:distribClientV5.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + if ("cloud-nimbus.sh".equals(message.getArtifactURL())) { + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_ERROR) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } else { + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + } + + this.validateVnfResource(notifDataV5,distribClientV5.getListVFModuleMetaData()); + + + // Try again with demo DNS + ASDCController asdcControllerDNS = new ASDCController("asdc-controller1", distribClientDNS); + asdcControllerDNS.initASDC(); + asdcControllerDNS.treatNotification(notifDataDNS); + + for (IDistributionStatusMessage message:distribClientDNS.getDistributionMessageReceived()) { + System.out.println("Message received, URL:"+message.getArtifactURL()+", Value:"+message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataDNS,distribClientDNS.getListVFModuleMetaData()); + + // Try again with demo VFW + ASDCController asdcControllerVFW = new ASDCController("asdc-controller1", distribClientVFW); + asdcControllerVFW.initASDC(); + asdcControllerVFW.treatNotification(notifDataVFW); + + for (IDistributionStatusMessage message : distribClientVFW.getDistributionMessageReceived()) { + System.out.println("Message received, URL:" + message.getArtifactURL() + ", Value:" + message.getStatus().name()); + assertTrue(message.getStatus().equals(DistributionStatusEnum.DEPLOY_OK) + || message.getStatus().equals(DistributionStatusEnum.DOWNLOAD_OK)); + } + + this.validateVnfResource(notifDataVFW, distribClientVFW.getListVFModuleMetaData()); + + } +} |