From 025301d08b061482c1f046d562bf017c8cbcfe8d Mon Sep 17 00:00:00 2001 From: ChrisC Date: Tue, 31 Jan 2017 11:40:03 +0100 Subject: Initial OpenECOMP MSO commit Change-Id: Ia6a7574859480717402cc2f22534d9973a78fa6d Signed-off-by: ChrisC --- .../mso/asdc/ASDCControllerSingletonESTest.java | 38 + .../ASDCControllerSingletonESTestscaffolding.java | 120 ++ .../client/DistributionStatusMessageESTest.java | 134 ++ ...DistributionStatusMessageESTestscaffolding.java | 79 + .../exceptions/ASDCControllerExceptionESTest.java | 26 + .../ASDCControllerExceptionESTestscaffolding.java | 82 ++ .../exceptions/ASDCDownloadExceptionESTest.java | 24 + .../ASDCDownloadExceptionESTestscaffolding.java | 82 ++ .../exceptions/ASDCParametersExceptionESTest.java | 24 + .../ASDCParametersExceptionESTestscaffolding.java | 82 ++ .../ArtifactInstallerExceptionESTest.java | 24 + ...rtifactInstallerExceptionESTestscaffolding.java | 82 ++ .../asdc/client/tests/ASDCConfigurationTest.java | 356 +++++ .../mso/asdc/client/tests/ASDCControllerTest.java | 412 ++++++ .../mso/asdc/client/tests/ASDCElementInfoTest.java | 175 +++ .../client/tests/ASDCGlobalControllerTest.java | 213 +++ .../asdc/client/tests/BigDecimalVersionTest.java | 53 + .../openecomp/mso/asdc/client/tests/YamlTest.java | 165 +++ .../mso/asdc/installer/ASDCElementInfoESTest.java | 139 ++ .../ASDCElementInfoESTestscaffolding.java | 100 ++ .../asdc/installer/BigDecimalVersionESTest.java | 138 ++ .../BigDecimalVersionESTestscaffolding.java | 77 + .../mso/asdc/installer/VfModuleArtifactESTest.java | 154 ++ .../VfModuleArtifactESTestscaffolding.java | 83 ++ .../asdc/installer/VfModuleStructureESTest.java | 108 ++ .../VfModuleStructureESTestscaffolding.java | 96 ++ .../asdc/installer/VfResourceStructureESTest.java | 400 +++++ .../VfResourceStructureESTestscaffolding.java | 105 ++ .../asdc/util/ASDCNotificationLoggingESTest.java | 746 ++++++++++ .../ASDCNotificationLoggingESTestscaffolding.java | 81 ++ .../openecomp/mso/asdc/util/YamlEditorESTest.java | 420 ++++++ .../mso/asdc/util/YamlEditorESTestscaffolding.java | 255 ++++ .../src/test/resources/logback-test.xml | 47 + asdc-controller/src/test/resources/mso-bad.json | 15 + .../src/test/resources/mso-two-configs.json | 26 + .../src/test/resources/mso-two-configs2.json | 26 + .../src/test/resources/mso-with-NULL.json | 15 + asdc-controller/src/test/resources/mso.json | 15 + asdc-controller/src/test/resources/mso2.json | 15 + asdc-controller/src/test/resources/mso3.json | 15 + .../src/test/resources/mso4-with-TLS.json | 17 + .../resources/resource-examples/autoscaling.yaml | 216 +++ .../test/resources/resource-examples/mixed.yaml | 1523 ++++++++++++++++++++ .../test/resources/resource-examples/network.yaml | 32 + .../resources/resource-examples/simpleTest.yaml | 39 + .../resource-examples/simpleTestWithoutParam.yaml | 18 + .../src/test/resources/resource-examples/vnf.yaml | 1449 +++++++++++++++++++ 47 files changed, 8541 insertions(+) create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/ASDCControllerSingletonESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/ASDCControllerSingletonESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/DistributionStatusMessageESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/DistributionStatusMessageESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerExceptionESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerExceptionESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadExceptionESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadExceptionESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCParametersExceptionESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCParametersExceptionESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ArtifactInstallerExceptionESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ArtifactInstallerExceptionESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCConfigurationTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCControllerTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCElementInfoTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCGlobalControllerTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/BigDecimalVersionTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/YamlTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/ASDCElementInfoESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/ASDCElementInfoESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/BigDecimalVersionESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/BigDecimalVersionESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleArtifactESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleArtifactESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleStructureESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleStructureESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfResourceStructureESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfResourceStructureESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/util/ASDCNotificationLoggingESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/util/ASDCNotificationLoggingESTestscaffolding.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/util/YamlEditorESTest.java create mode 100644 asdc-controller/src/test/java/org/openecomp/mso/asdc/util/YamlEditorESTestscaffolding.java create mode 100644 asdc-controller/src/test/resources/logback-test.xml create mode 100644 asdc-controller/src/test/resources/mso-bad.json create mode 100644 asdc-controller/src/test/resources/mso-two-configs.json create mode 100644 asdc-controller/src/test/resources/mso-two-configs2.json create mode 100644 asdc-controller/src/test/resources/mso-with-NULL.json create mode 100644 asdc-controller/src/test/resources/mso.json create mode 100644 asdc-controller/src/test/resources/mso2.json create mode 100644 asdc-controller/src/test/resources/mso3.json create mode 100644 asdc-controller/src/test/resources/mso4-with-TLS.json create mode 100644 asdc-controller/src/test/resources/resource-examples/autoscaling.yaml create mode 100644 asdc-controller/src/test/resources/resource-examples/mixed.yaml create mode 100644 asdc-controller/src/test/resources/resource-examples/network.yaml create mode 100644 asdc-controller/src/test/resources/resource-examples/simpleTest.yaml create mode 100644 asdc-controller/src/test/resources/resource-examples/simpleTestWithoutParam.yaml create mode 100644 asdc-controller/src/test/resources/resource-examples/vnf.yaml (limited to 'asdc-controller/src/test') diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/ASDCControllerSingletonESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/ASDCControllerSingletonESTest.java new file mode 100644 index 0000000..9ca02e2 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/ASDCControllerSingletonESTest.java @@ -0,0 +1,38 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:38:29 GMT 2016 + */ + +package org.openecomp.mso.asdc; + +import org.junit.Test; +import static org.junit.Assert.*; + +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.evosuite.runtime.PrivateAccess; +import org.junit.runner.RunWith; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class ASDCControllerSingletonESTest extends ASDCControllerSingletonESTestscaffolding { + + @Test(timeout = 4000) + public void test0() throws Throwable { + ASDCControllerSingleton aSDCControllerSingleton0 = new ASDCControllerSingleton(); + PrivateAccess.callMethod((Class) ASDCControllerSingleton.class, aSDCControllerSingleton0, "setWorking", (Object) true, (Class) boolean.class); + aSDCControllerSingleton0.periodicControllerTask(); + } + + @Test(timeout = 4000) + public void test1() throws Throwable { + ASDCControllerSingleton aSDCControllerSingleton0 = new ASDCControllerSingleton(); + Object object0 = PrivateAccess.callMethod((Class) ASDCControllerSingleton.class, aSDCControllerSingleton0, "terminate"); + assertNull(object0); + } + + @Test(timeout = 4000) + public void test2() throws Throwable { + ASDCControllerSingleton aSDCControllerSingleton0 = new ASDCControllerSingleton(); + aSDCControllerSingleton0.periodicControllerTask(); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/ASDCControllerSingletonESTestscaffolding.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/ASDCControllerSingletonESTestscaffolding.java new file mode 100644 index 0000000..e099e9c --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/ASDCControllerSingletonESTestscaffolding.java @@ -0,0 +1,120 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Fri Nov 25 13:38:29 GMT 2016 + */ + +package org.openecomp.mso.asdc; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class ASDCControllerSingletonESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.asdc.ASDCControllerSingleton"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(ASDCControllerSingletonESTestscaffolding.class.getClassLoader() , + "org.openecomp.mso.properties.AbstractMsoProperties", + "org.openecomp.mso.properties.MsoPropertiesParameters$MsoPropertiesType", + "org.openecomp.mso.properties.MsoPropertiesParameters", + "com.att.eelf.i18n.EELFResourceManager$RESOURCE_TYPES", + "org.openecomp.mso.logger.MsoLogger$ErrorCode", + "com.att.eelf.configuration.EELFLogger", + "org.openecomp.mso.properties.MsoJavaProperties", + "org.openecomp.mso.asdc.client.exceptions.ASDCParametersException", + "com.att.eelf.configuration.SLF4jWrapper", + "com.att.eelf.i18n.EELFResourceManager", + "org.openecomp.mso.properties.MsoPropertiesException", + "org.openecomp.mso.logger.MsoLogger", + "org.openecomp.mso.logger.MessageEnum", + "com.att.eelf.i18n.EELFResolvableErrorEnum", + "org.openecomp.mso.logger.MsoLogger$ResponseCode", + "org.openecomp.mso.properties.MsoJsonProperties", + "org.openecomp.mso.entity.MsoRequest", + "org.openecomp.mso.asdc.ASDCControllerSingleton", + "org.openecomp.mso.logger.MsoLogger$StatusCode", + "com.att.eelf.configuration.EELFManager", + "com.att.eelf.i18n.EELFMsgs", + "org.openecomp.mso.properties.MsoPropertiesFactory", + "org.openecomp.mso.asdc.client.ASDCGlobalController", + "com.att.eelf.configuration.EELFLogger$Level", + "org.openecomp.mso.logger.MsoLogger$Catalog", + "org.openecomp.mso.asdc.client.exceptions.ASDCControllerException" + ); + } + + private static void resetClasses() { + org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(ASDCControllerSingletonESTestscaffolding.class.getClassLoader()); + + org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( + "org.openecomp.mso.logger.MsoLogger$Catalog", + "org.openecomp.mso.logger.MsoLogger", + "com.att.eelf.i18n.EELFResourceManager", + "com.att.eelf.i18n.EELFMsgs", + "com.att.eelf.i18n.EELFResourceManager$RESOURCE_TYPES", + "com.att.eelf.configuration.EELFLogger$Level", + "com.att.eelf.configuration.EELFManager", + "org.openecomp.mso.logger.MessageEnum", + "org.openecomp.mso.asdc.ASDCControllerSingleton", + "org.openecomp.mso.asdc.client.ASDCGlobalController", + "org.openecomp.mso.properties.MsoPropertiesFactory", + "org.openecomp.mso.properties.MsoPropertiesParameters$MsoPropertiesType", + "org.openecomp.mso.properties.MsoPropertiesException", + "org.openecomp.mso.logger.MsoLogger$ErrorCode" + ); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/DistributionStatusMessageESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/DistributionStatusMessageESTest.java new file mode 100644 index 0000000..e2112ce --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/DistributionStatusMessageESTest.java @@ -0,0 +1,134 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:39:00 GMT 2016 + */ + +package org.openecomp.mso.asdc.client; + +import org.junit.Test; +import static org.junit.Assert.*; + +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.junit.runner.RunWith; +import org.openecomp.sdc.utils.DistributionStatusEnum; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class DistributionStatusMessageESTest extends DistributionStatusMessageESTestscaffolding { + + @Test(timeout = 4000) + public void test00() throws Throwable { + DistributionStatusEnum distributionStatusEnum0 = DistributionStatusEnum.ALREADY_DOWNLOADED; + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage((String) null, (String) null, (String) null, distributionStatusEnum0, 1L); + long long0 = distributionStatusMessage0.getTimestamp(); + assertEquals(1L, long0); + } + + @Test(timeout = 4000) + public void test01() throws Throwable { + DistributionStatusEnum distributionStatusEnum0 = DistributionStatusEnum.ALREADY_DEPLOYED; + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage("n*lho0\"NQ4azb%8]KN", "n*lho0\"NQ4azb%8]KN", "BMWmXl2i-B", distributionStatusEnum0, (-58L)); + long long0 = distributionStatusMessage0.getTimestamp(); + assertEquals("BMWmXl2i-B", distributionStatusMessage0.getDistributionID()); + assertEquals((-58L), long0); + assertEquals("n*lho0\"NQ4azb%8]KN", distributionStatusMessage0.getConsumerID()); + assertEquals("n*lho0\"NQ4azb%8]KN", distributionStatusMessage0.getArtifactURL()); + } + + @Test(timeout = 4000) + public void test02() throws Throwable { + DistributionStatusEnum distributionStatusEnum0 = DistributionStatusEnum.ALREADY_DOWNLOADED; + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage((String) null, (String) null, (String) null, distributionStatusEnum0, 1L); + DistributionStatusEnum distributionStatusEnum1 = distributionStatusMessage0.getStatus(); + DistributionStatusMessage distributionStatusMessage1 = new DistributionStatusMessage("", (String) null, "*? q^M(_q^3$ZQ", distributionStatusEnum1, (-833L)); + String string0 = distributionStatusMessage1.getDistributionID(); + assertNotNull(string0); + assertEquals((-833L), distributionStatusMessage1.getTimestamp()); + assertEquals("", distributionStatusMessage1.getArtifactURL()); + assertEquals("*? q^M(_q^3$ZQ", string0); + } + + @Test(timeout = 4000) + public void test03() throws Throwable { + DistributionStatusEnum distributionStatusEnum0 = DistributionStatusEnum.ALREADY_DOWNLOADED; + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage("", "", "", distributionStatusEnum0, 1L); + distributionStatusMessage0.getDistributionID(); + assertEquals(1L, distributionStatusMessage0.getTimestamp()); + } + + @Test(timeout = 4000) + public void test04() throws Throwable { + DistributionStatusEnum distributionStatusEnum0 = DistributionStatusEnum.ALREADY_DOWNLOADED; + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage("ALREADY_DEPLOYED", "ALREADY_DEPLOYED", "ALREADY_DEPLOYED", distributionStatusEnum0, 0L); + String string0 = distributionStatusMessage0.getConsumerID(); + assertEquals("ALREADY_DEPLOYED", string0); + } + + @Test(timeout = 4000) + public void test05() throws Throwable { + DistributionStatusEnum distributionStatusEnum0 = DistributionStatusEnum.ALREADY_DOWNLOADED; + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage((String) null, (String) null, (String) null, distributionStatusEnum0, 1L); + DistributionStatusEnum distributionStatusEnum1 = distributionStatusMessage0.getStatus(); + DistributionStatusMessage distributionStatusMessage1 = new DistributionStatusMessage((String) null, "", "Qcuo3~gd})vsI*", distributionStatusEnum1, 0L); + String string0 = distributionStatusMessage1.getConsumerID(); + assertNotNull(string0); + assertEquals(1L, distributionStatusMessage0.getTimestamp()); + assertEquals("", string0); + assertEquals("Qcuo3~gd})vsI*", distributionStatusMessage1.getDistributionID()); + } + + @Test(timeout = 4000) + public void test06() throws Throwable { + DistributionStatusEnum distributionStatusEnum0 = DistributionStatusEnum.ALREADY_DOWNLOADED; + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage("ALREADY_DEPLOYED", "ALREADY_DEPLOYED", "ALREADY_DEPLOYED", distributionStatusEnum0, 0L); + String string0 = distributionStatusMessage0.getArtifactURL(); + assertEquals("ALREADY_DEPLOYED", string0); + } + + @Test(timeout = 4000) + public void test07() throws Throwable { + DistributionStatusEnum distributionStatusEnum0 = DistributionStatusEnum.ALREADY_DOWNLOADED; + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage((String) null, (String) null, (String) null, distributionStatusEnum0, 1L); + DistributionStatusEnum distributionStatusEnum1 = distributionStatusMessage0.getStatus(); + DistributionStatusMessage distributionStatusMessage1 = new DistributionStatusMessage("", (String) null, "*? q^M(_q^3$ZQ", distributionStatusEnum1, (-833L)); + String string0 = distributionStatusMessage1.getArtifactURL(); + assertEquals("", string0); + assertEquals("*? q^M(_q^3$ZQ", distributionStatusMessage1.getDistributionID()); + assertNotNull(string0); + assertEquals((-833L), distributionStatusMessage1.getTimestamp()); + } + + @Test(timeout = 4000) + public void test08() throws Throwable { + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage((String) null, (String) null, (String) null, (DistributionStatusEnum) null, 0L); + long long0 = distributionStatusMessage0.getTimestamp(); + assertEquals(0L, long0); + } + + @Test(timeout = 4000) + public void test09() throws Throwable { + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage((String) null, (String) null, (String) null, (DistributionStatusEnum) null, 0L); + String string0 = distributionStatusMessage0.getDistributionID(); + assertNull(string0); + } + + @Test(timeout = 4000) + public void test10() throws Throwable { + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage((String) null, (String) null, (String) null, (DistributionStatusEnum) null, 0L); + distributionStatusMessage0.getStatus(); + } + + @Test(timeout = 4000) + public void test11() throws Throwable { + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage((String) null, (String) null, (String) null, (DistributionStatusEnum) null, 0L); + String string0 = distributionStatusMessage0.getConsumerID(); + assertNull(string0); + } + + @Test(timeout = 4000) + public void test12() throws Throwable { + DistributionStatusMessage distributionStatusMessage0 = new DistributionStatusMessage((String) null, (String) null, (String) null, (DistributionStatusEnum) null, 0L); + String string0 = distributionStatusMessage0.getArtifactURL(); + assertNull(string0); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/DistributionStatusMessageESTestscaffolding.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/DistributionStatusMessageESTestscaffolding.java new file mode 100644 index 0000000..f234ca6 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/DistributionStatusMessageESTestscaffolding.java @@ -0,0 +1,79 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Fri Nov 25 13:39:00 GMT 2016 + */ + +package org.openecomp.mso.asdc.client; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class DistributionStatusMessageESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.asdc.client.DistributionStatusMessage"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(DistributionStatusMessageESTestscaffolding.class.getClassLoader() , + "org.openecomp.sdc.utils.DistributionStatusEnum", + "org.openecomp.mso.asdc.client.DistributionStatusMessage", + "org.openecomp.sdc.api.consumer.IDistributionStatusMessage" + ); + } + + private static void resetClasses() { + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerExceptionESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerExceptionESTest.java new file mode 100644 index 0000000..37af59c --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerExceptionESTest.java @@ -0,0 +1,26 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:39:27 GMT 2016 + */ + +package org.openecomp.mso.asdc.client.exceptions; + +import org.junit.Test; +import static org.junit.Assert.*; + +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.evosuite.runtime.mock.java.lang.MockThrowable; +import org.junit.runner.RunWith; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class ASDCControllerExceptionESTest extends ASDCControllerExceptionESTestscaffolding { + + @Test(timeout = 4000) + public void test0() throws Throwable { + ASDCControllerException aSDCControllerException0 = new ASDCControllerException("org.openecomp.mso.asdc.client.exceptions.ASDCControllerException"); + MockThrowable mockThrowable0 = new MockThrowable("B+;:\"w4^M(-Y:e~=", (Throwable) aSDCControllerException0); + ASDCControllerException aSDCControllerException1 = new ASDCControllerException("The list of prefixes must not be null", (Throwable) mockThrowable0); + assertFalse(aSDCControllerException1.equals((Object)aSDCControllerException0)); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerExceptionESTestscaffolding.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerExceptionESTestscaffolding.java new file mode 100644 index 0000000..d6041c2 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCControllerExceptionESTestscaffolding.java @@ -0,0 +1,82 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Fri Nov 25 13:39:27 GMT 2016 + */ + +package org.openecomp.mso.asdc.client.exceptions; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class ASDCControllerExceptionESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.asdc.client.exceptions.ASDCControllerException"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(ASDCControllerExceptionESTestscaffolding.class.getClassLoader() , + "org.openecomp.mso.asdc.client.exceptions.ASDCControllerException" + ); + } + + private static void resetClasses() { + org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(ASDCControllerExceptionESTestscaffolding.class.getClassLoader()); + + org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( + "org.openecomp.mso.asdc.client.exceptions.ASDCControllerException" + ); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadExceptionESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadExceptionESTest.java new file mode 100644 index 0000000..75f4b5d --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadExceptionESTest.java @@ -0,0 +1,24 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:38:49 GMT 2016 + */ + +package org.openecomp.mso.asdc.client.exceptions; + +import org.junit.Test; +import static org.junit.Assert.*; + +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.junit.runner.RunWith; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class ASDCDownloadExceptionESTest extends ASDCDownloadExceptionESTestscaffolding { + + @Test(timeout = 4000) + public void test0() throws Throwable { + ASDCDownloadException aSDCDownloadException0 = new ASDCDownloadException(""); + ASDCDownloadException aSDCDownloadException1 = new ASDCDownloadException("", (Throwable) aSDCDownloadException0); + assertFalse(aSDCDownloadException1.equals((Object)aSDCDownloadException0)); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadExceptionESTestscaffolding.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadExceptionESTestscaffolding.java new file mode 100644 index 0000000..5db3c20 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCDownloadExceptionESTestscaffolding.java @@ -0,0 +1,82 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Fri Nov 25 13:38:49 GMT 2016 + */ + +package org.openecomp.mso.asdc.client.exceptions; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class ASDCDownloadExceptionESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.asdc.client.exceptions.ASDCDownloadException"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(ASDCDownloadExceptionESTestscaffolding.class.getClassLoader() , + "org.openecomp.mso.asdc.client.exceptions.ASDCDownloadException" + ); + } + + private static void resetClasses() { + org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(ASDCDownloadExceptionESTestscaffolding.class.getClassLoader()); + + org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( + "org.openecomp.mso.asdc.client.exceptions.ASDCDownloadException" + ); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCParametersExceptionESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCParametersExceptionESTest.java new file mode 100644 index 0000000..afc2834 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/exceptions/ASDCParametersExceptionESTest.java @@ -0,0 +1,24 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:39:10 GMT 2016 + */ + +package org.openecomp.mso.asdc.client.exceptions; + +import org.junit.Test; +import static org.junit.Assert.*; + +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.junit.runner.RunWith; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class ASDCParametersExceptionESTest extends ASDCParametersExceptionESTestscaffolding { + + @Test(timeout = 4000) + public void test0() throws Throwable { + ASDCParametersException aSDCParametersException0 = new ASDCParametersException("4vI_{2b listControllers = ASDCConfiguration.getAllDefinedControllers(); + + assertTrue(listControllers.size()==1); + assertTrue("asdc-controller1".equals(listControllers.get(0))); + + ASDCConfiguration asdcConfiguration = new ASDCConfiguration("asdc-controller1"); + assertTrue(asdcConfiguration.getAsdcControllerName().equals("asdc-controller1")); + + + // Try to reload a wrong Json file + msoPropertiesFactory.changeMsoPropertiesFilePath(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP_BAD); + msoPropertiesFactory.reloadMsoProperties(); + + listControllers = ASDCConfiguration.getAllDefinedControllers(); + assertTrue(listControllers.size()==0); + + } + + @Test + public final void testABadInit() throws MsoPropertiesException { + msoPropertiesFactory.removeAllMsoProperties(); + + try { + ASDCConfiguration asdcConfiguration = new ASDCConfiguration("asdc-controller1"); + fail("Should have thrown an ASDCParametersException because prop factory is empty!"); + } catch (ASDCParametersException e) { + assertTrue(e.getMessage().contains(("mso.asdc.json not initialized properly, ASDC config cannot be reloaded"))); + } catch (IOException e) { + fail("Should have thrown an ASDCParametersException, not IOException because file is corrupted!"); + } + } + + @Test + public final void testFileDoesNotExist() throws MsoPropertiesException, ASDCParametersException, IOException { + + ASDCConfiguration asdcConfiguration = new ASDCConfiguration("asdc-controller1"); + + msoPropertiesFactory.removeAllMsoProperties(); + + try { + asdcConfiguration.refreshASDCConfig(); + fail("Should have thrown an ASDCParametersException because factory is empty!"); + } catch (ASDCParametersException e) { + assertTrue(e.getMessage().contains(("mso.asdc.json not initialized properly, ASDC config cannot be reloaded"))); + } + } + + @Test + public final void testWithTLS () throws ASDCParametersException, IOException, MsoPropertiesException { + ASDCConfiguration asdcConfiguration = new ASDCConfiguration("asdc-controller1"); + + msoPropertiesFactory.changeMsoPropertiesFilePath(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP4_WITH_TLS); + msoPropertiesFactory.reloadMsoProperties(); + + asdcConfiguration.refreshASDCConfig(); + + assertTrue(asdcConfiguration.activateServerTLSAuth()); + assertTrue("/test".equals(asdcConfiguration.getKeyStorePath())); + assertTrue("ThePassword".equals(asdcConfiguration.getKeyStorePassword())); + } + +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCControllerTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCControllerTest.java new file mode 100644 index 0000000..b6c5577 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCControllerTest.java @@ -0,0 +1,412 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.asdc.client.tests; + + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.mockito.Matchers.any; +import java.io.IOException; +import java.lang.reflect.Field; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.codec.binary.Base64; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.mockito.Mockito; + +import org.openecomp.sdc.api.IDistributionClient; +import org.openecomp.sdc.api.consumer.INotificationCallback; +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.INotificationData; +import org.openecomp.sdc.api.notification.IResourceInstance; +import org.openecomp.sdc.api.results.IDistributionClientDownloadResult; +import org.openecomp.sdc.api.results.IDistributionClientResult; +import org.openecomp.sdc.impl.mock.DistributionClientStubImpl; +import org.openecomp.sdc.utils.DistributionActionResultEnum; +import org.openecomp.mso.asdc.client.ASDCConfiguration; +import org.openecomp.mso.asdc.client.ASDCController; +import org.openecomp.mso.asdc.client.ASDCControllerStatus; +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.asdc.installer.heat.VfResourceInstaller; +import org.openecomp.mso.properties.MsoJavaProperties; +import org.openecomp.mso.properties.MsoPropertiesException; +import org.openecomp.mso.properties.MsoPropertiesFactory; + + + +/** + * THis class tests the ASDC Controller by using the ASDC Mock CLient + * + * + */ +public class ASDCControllerTest { + + private static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory(); + + private static String heatExample; + private static String heatExampleMD5HashBase64; + + private static INotificationData iNotif; + + private static IDistributionClientDownloadResult downloadResult; + private static IDistributionClientDownloadResult downloadCorruptedResult; + + private static IDistributionClientResult successfulClientInitResult; + private static IDistributionClientResult unsuccessfulClientInitResult; + + private static IArtifactInfo artifactInfo1; + + private static IResourceInstance resource1; + + private static VfResourceInstaller vnfInstaller; + + public static final String ASDC_PROP = MsoJavaProperties.class.getClassLoader().getResource("mso.json").toString().substring(5); + public static final String ASDC_PROP2 = MsoJavaProperties.class.getClassLoader().getResource("mso2.json").toString().substring(5); + public static final String ASDC_PROP3 = MsoJavaProperties.class.getClassLoader().getResource("mso3.json").toString().substring(5); + public static final String ASDC_PROP_BAD = MsoJavaProperties.class.getClassLoader().getResource("mso-bad.json").toString().substring(5); + public static final String ASDC_PROP_WITH_NULL = MsoJavaProperties.class.getClassLoader().getResource("mso-with-NULL.json").toString().substring(5); + + @BeforeClass + public static final void prepareMockNotification() throws MsoPropertiesException, IOException, URISyntaxException, NoSuchAlgorithmException, ArtifactInstallerException { + + heatExample = new String(Files.readAllBytes(Paths.get(ASDCControllerTest.class.getClassLoader().getResource("resource-examples/autoscaling.yaml").toURI()))); + MessageDigest md = MessageDigest.getInstance("MD5"); + byte[] md5Hash = md.digest(heatExample.getBytes()); + heatExampleMD5HashBase64 = Base64.encodeBase64String(md5Hash); + + iNotif= Mockito.mock(INotificationData.class); + + // Create fake ArtifactInfo + artifactInfo1 = Mockito.mock(IArtifactInfo.class); + Mockito.when(artifactInfo1.getArtifactChecksum()).thenReturn(ASDCControllerTest.heatExampleMD5HashBase64); + + Mockito.when(artifactInfo1.getArtifactName()).thenReturn("artifact1"); + Mockito.when(artifactInfo1.getArtifactType()).thenReturn(ASDCConfiguration.HEAT); + Mockito.when(artifactInfo1.getArtifactURL()).thenReturn("https://localhost:8080/v1/catalog/services/srv1/2.0/resources/aaa/1.0/artifacts/aaa.yml"); + Mockito.when(artifactInfo1.getArtifactUUID()).thenReturn("UUID1"); + Mockito.when(artifactInfo1.getArtifactDescription()).thenReturn("testos artifact1"); + + // Now provision the NotificationData mock + List listArtifact = new ArrayList(); + listArtifact.add(artifactInfo1); + + // Create fake resource Instance + resource1 = Mockito.mock (IResourceInstance.class); + Mockito.when (resource1.getResourceType ()).thenReturn ("VF"); + Mockito.when (resource1.getResourceName ()).thenReturn ("resourceName"); + Mockito.when (resource1.getArtifacts ()).thenReturn (listArtifact); + + List resources = new ArrayList<> (); + resources.add (resource1); + + Mockito.when(iNotif.getResources()).thenReturn(resources); + Mockito.when(iNotif.getDistributionID()).thenReturn("distributionID1"); + Mockito.when(iNotif.getServiceName()).thenReturn("serviceName1"); + Mockito.when(iNotif.getServiceUUID()).thenReturn("serviceNameUUID1"); + Mockito.when(iNotif.getServiceVersion()).thenReturn("1.0"); + + downloadResult = Mockito.mock(IDistributionClientDownloadResult.class); + Mockito.when(downloadResult.getArtifactPayload()).thenReturn(heatExample.getBytes()); + Mockito.when(downloadResult.getDistributionActionResult()).thenReturn(DistributionActionResultEnum.SUCCESS); + Mockito.when(downloadResult.getDistributionMessageResult()).thenReturn("Success"); + + downloadCorruptedResult = Mockito.mock(IDistributionClientDownloadResult.class); + Mockito.when(downloadCorruptedResult.getArtifactPayload()).thenReturn((heatExample+"badone").getBytes()); + Mockito.when(downloadCorruptedResult.getDistributionActionResult()).thenReturn(DistributionActionResultEnum.SUCCESS); + Mockito.when(downloadCorruptedResult.getDistributionMessageResult()).thenReturn("Success"); + + vnfInstaller = Mockito.mock(VfResourceInstaller.class); + + // Mock now the ASDC distribution client behavior + successfulClientInitResult = Mockito.mock(IDistributionClientResult.class); + Mockito.when(successfulClientInitResult.getDistributionActionResult ()).thenReturn(DistributionActionResultEnum.SUCCESS); + + unsuccessfulClientInitResult = Mockito.mock(IDistributionClientResult.class); + Mockito.when(unsuccessfulClientInitResult.getDistributionActionResult ()).thenReturn(DistributionActionResultEnum.GENERAL_ERROR); + + } + + @Before + public final void initBeforeEachTest() throws MsoPropertiesException { + // load the config + msoPropertiesFactory.removeAllMsoProperties(); + msoPropertiesFactory.initializeMsoProperties(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP); + } + + @AfterClass + public static final void kill () throws MsoPropertiesException { + + msoPropertiesFactory.removeMsoProperties(ASDCConfiguration.MSO_PROP_ASDC); + + } + + @Test + public final void testTheInitWithASDCStub() throws ASDCControllerException, ASDCParametersException, IOException { + + ASDCController asdcController = new ASDCController("asdc-controller1",new DistributionClientStubImpl()); + asdcController.initASDC(); + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.IDLE); + assertTrue(asdcController.getNbOfNotificationsOngoing()== 0); + } + + @Test + public final void testTheNotificationWithASDCStub() throws ASDCControllerException, ASDCParametersException, IOException { + + ASDCController asdcController = new ASDCController("asdc-controller1",new DistributionClientStubImpl(),vnfInstaller); + asdcController.initASDC(); + // try to send a notif, this should fail internally, we just want to ensure that in case of crash, controller status goes to IDLE + asdcController.treatNotification(iNotif); + + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.IDLE); + assertTrue(asdcController.getNbOfNotificationsOngoing()== 0); + + } + + @Test + public final void testASecondInit() throws ASDCControllerException, ASDCParametersException, IOException { + ASDCController asdcController = new ASDCController("asdc-controller1",new DistributionClientStubImpl(),vnfInstaller); + asdcController.initASDC(); + // try to send a notif, this should fail internally, we just want to ensure that in case of crash, controller status goes to IDLE + + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.IDLE); + assertTrue(asdcController.getNbOfNotificationsOngoing()== 0); + + try { + asdcController.initASDC(); + fail("ASDCControllerException should have been raised for the init"); + } catch (ASDCControllerException e) { + assertTrue("The controller is already initialized, call the closeASDC method first".equals(e.getMessage())); + } + + // No changes expected on the controller state + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.IDLE); + assertTrue(asdcController.getNbOfNotificationsOngoing()== 0); + } + + @Test + public final void testInitCrashWithMockitoClient() throws ASDCParametersException, IOException { + + IDistributionClient distributionClient; + // First case for init method + distributionClient = Mockito.mock(IDistributionClient.class); + Mockito.when(distributionClient.download(artifactInfo1)).thenThrow(new RuntimeException("ASDC Client not initialized")); + Mockito.when(distributionClient.init(any(ASDCConfiguration.class),any(INotificationCallback.class))).thenReturn(unsuccessfulClientInitResult); + Mockito.when(distributionClient.start()).thenReturn(unsuccessfulClientInitResult); + + ASDCController asdcController = new ASDCController("asdc-controller1",distributionClient,vnfInstaller); + + // This should return an exception + try { + asdcController.initASDC(); + fail("ASDCControllerException should have been raised for the init"); + } catch (ASDCControllerException e) { + assertTrue("Initialization of the ASDC Controller failed with reason: null".equals(e.getMessage())); + } + + assertTrue(asdcController.getControllerStatus() == ASDCControllerStatus.STOPPED); + assertTrue(asdcController.getNbOfNotificationsOngoing()== 0); + + // Second case for start method + + Mockito.when(distributionClient.init(any(ASDCConfiguration.class),any(INotificationCallback.class))).thenReturn(successfulClientInitResult); + Mockito.when(distributionClient.start()).thenReturn(unsuccessfulClientInitResult); + + // This should return an exception + try { + asdcController.initASDC(); + fail("ASDCControllerException should have been raised for the init"); + } catch (ASDCControllerException e) { + assertTrue("Startup of the ASDC Controller failed with reason: null".equals(e.getMessage())); + } + + assertTrue(asdcController.getControllerStatus() == ASDCControllerStatus.STOPPED); + assertTrue(asdcController.getNbOfNotificationsOngoing()== 0); + } + + @Test + public final void testTheStop() throws ASDCControllerException, ASDCParametersException, IOException { + + ASDCController asdcController = new ASDCController("asdc-controller1",new DistributionClientStubImpl(),vnfInstaller); + + asdcController.closeASDC(); + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.STOPPED); + + + asdcController = new ASDCController("asdc-controller1",new DistributionClientStubImpl(),vnfInstaller); + asdcController.initASDC(); + asdcController.closeASDC(); + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.STOPPED); + } + + @Test + public final void testConfigRefresh () throws ASDCParametersException, ASDCControllerException, IOException, MsoPropertiesException { + IDistributionClient distributionClient; + distributionClient = Mockito.mock(IDistributionClient.class); + Mockito.when(distributionClient.download(artifactInfo1)).thenReturn(downloadResult); + Mockito.when(distributionClient.init(any(ASDCConfiguration.class),any(INotificationCallback.class))).thenReturn(successfulClientInitResult); + Mockito.when(distributionClient.start()).thenReturn(successfulClientInitResult); + + + ASDCController asdcController = new ASDCController("asdc-controller1",distributionClient,vnfInstaller); + + // it should not raise any exception even if controller is not yet initialized + asdcController.updateConfigIfNeeded(); + + asdcController.initASDC(); + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.IDLE); + assertFalse(asdcController.updateConfigIfNeeded()); + + msoPropertiesFactory.changeMsoPropertiesFilePath(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP3); + msoPropertiesFactory.reloadMsoProperties(); + // It should fail if it tries to refresh the config as the init will now fail + assertTrue(asdcController.updateConfigIfNeeded()); + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.IDLE); + + + msoPropertiesFactory.changeMsoPropertiesFilePath(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP); + msoPropertiesFactory.reloadMsoProperties(); + } + + @Test + public final void testConfigRefreshWhenBusy () throws IOException, MsoPropertiesException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, ASDCParametersException, ASDCControllerException { + IDistributionClient distributionClient; + distributionClient = Mockito.mock(IDistributionClient.class); + Mockito.when(distributionClient.download(artifactInfo1)).thenReturn(downloadResult); + Mockito.when(distributionClient.init(any(ASDCConfiguration.class),any(INotificationCallback.class))).thenReturn(successfulClientInitResult); + Mockito.when(distributionClient.start()).thenReturn(successfulClientInitResult); + + ASDCController asdcController = new ASDCController("asdc-controller1",distributionClient,vnfInstaller); + + // it should not raise any exception even if controller is not yet initialized + asdcController.updateConfigIfNeeded(); + + asdcController.initASDC(); + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.IDLE); + assertFalse(asdcController.updateConfigIfNeeded()); + + // Simulate a BUSY case by reflection + Field controllerStatus; + controllerStatus = ASDCController.class.getDeclaredField("controllerStatus"); + controllerStatus.setAccessible(true); + controllerStatus.set(asdcController,ASDCControllerStatus.BUSY); + + + msoPropertiesFactory.changeMsoPropertiesFilePath(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP3); + msoPropertiesFactory.reloadMsoProperties(); + // It should fail if it tries to refresh the config as the init will now fail + try { + asdcController.updateConfigIfNeeded(); + fail ("ASDCControllerException should have been raised"); + } catch (ASDCControllerException e) { + assertTrue("Cannot close the ASDC controller as it's currently in BUSY state".equals(e.getMessage())); + } + + // Try it a second time to see if we still see the changes + try { + asdcController.updateConfigIfNeeded(); + fail ("ASDCControllerException should have been raised"); + } catch (ASDCControllerException e) { + assertTrue("Cannot close the ASDC controller as it's currently in BUSY state".equals(e.getMessage())); + } + + // Revert to Idle by reflection + controllerStatus.set(asdcController,ASDCControllerStatus.IDLE); + controllerStatus.setAccessible(false); + + // This should work now, controller should be restarted + assertTrue(asdcController.updateConfigIfNeeded()); + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.IDLE); + + msoPropertiesFactory.changeMsoPropertiesFilePath(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP); + msoPropertiesFactory.reloadMsoProperties(); + } + + + @Test + public final void testBadConfigRefresh () throws ASDCParametersException, ASDCControllerException, IOException, MsoPropertiesException { + IDistributionClient distributionClient; + distributionClient = Mockito.mock(IDistributionClient.class); + Mockito.when(distributionClient.download(artifactInfo1)).thenReturn(downloadResult); + Mockito.when(distributionClient.init(any(ASDCConfiguration.class),any(INotificationCallback.class))).thenReturn(successfulClientInitResult); + Mockito.when(distributionClient.start()).thenReturn(successfulClientInitResult); + + + ASDCController asdcController = new ASDCController("asdc-controller1",distributionClient,vnfInstaller); + + // it should not raise any exception even if controller is not yet initialized + asdcController.updateConfigIfNeeded(); + + asdcController.initASDC(); + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.IDLE); + assertFalse(asdcController.updateConfigIfNeeded()); + + msoPropertiesFactory.changeMsoPropertiesFilePath(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP_BAD); + msoPropertiesFactory.reloadMsoProperties(); + // It should fail if it tries to refresh the config as the init will now fail + try { + asdcController.updateConfigIfNeeded(); + fail ("ASDCParametersException should have been raised"); + } catch (ASDCParametersException ep) { + assertTrue("consumerGroup parameter cannot be found in config mso.properties".equals(ep.getMessage())); + } + + // This should stop the controller, as it can't work with a bad config file + assertTrue(asdcController.getControllerStatus()== ASDCControllerStatus.STOPPED); + + + msoPropertiesFactory.changeMsoPropertiesFilePath(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP); + msoPropertiesFactory.reloadMsoProperties(); + } + + @Test + public final void testConfigAccess () throws ASDCControllerException, ASDCParametersException, IOException { + IDistributionClient distributionClient; + distributionClient = Mockito.mock(IDistributionClient.class); + Mockito.when(distributionClient.download(artifactInfo1)).thenReturn(downloadResult); + Mockito.when(distributionClient.init(any(ASDCConfiguration.class),any(INotificationCallback.class))).thenReturn(successfulClientInitResult); + Mockito.when(distributionClient.start()).thenReturn(successfulClientInitResult); + + + ASDCController asdcController = new ASDCController("asdc-controller1",distributionClient,vnfInstaller); + + assertTrue("Unknown".equals(asdcController.getAddress())); + assertTrue("Unknown".equals(asdcController.getEnvironment())); + + asdcController.initASDC(); + + assertTrue("hostname".equals(asdcController.getAddress())); + assertTrue("environmentName".equals(asdcController.getEnvironment())); + + } + +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCElementInfoTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCElementInfoTest.java new file mode 100644 index 0000000..23b7a80 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCElementInfoTest.java @@ -0,0 +1,175 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + + +package org.openecomp.mso.asdc.client.tests; + + + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.util.Collections; +import java.util.UUID; + +import org.junit.Test; +import org.mockito.Mockito; + +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.INotificationData; +import org.openecomp.sdc.api.notification.IResourceInstance; +import org.openecomp.sdc.api.notification.IVfModuleMetadata; +import org.openecomp.mso.asdc.client.ASDCConfiguration; +import org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException; +import org.openecomp.mso.asdc.installer.ASDCElementInfo; +import org.openecomp.mso.asdc.installer.VfModuleStructure; +import org.openecomp.mso.asdc.installer.VfResourceStructure; + + +public class ASDCElementInfoTest { + + @Test + public void createASDCElementInfoWithNullParameterTest() { + ASDCElementInfo elementInfoFromNullVfArtifact = ASDCElementInfo.createElementFromVfArtifactInfo(null); + ASDCElementInfo elementInfoFromNullVfModuleStructure = ASDCElementInfo.createElementFromVfModuleStructure(null); + ASDCElementInfo elementInfoFromNullVfResourceStructure = ASDCElementInfo.createElementFromVfResourceStructure(null); + + elementInfoFromNullVfArtifact.addElementInfo(null, null); + elementInfoFromNullVfModuleStructure.addElementInfo(null, "someValue"); + elementInfoFromNullVfResourceStructure.addElementInfo("someKey", null); + + assertEquals(elementInfoFromNullVfArtifact.toString(), ""); + assertEquals(elementInfoFromNullVfModuleStructure.toString(), ""); + assertEquals(elementInfoFromNullVfResourceStructure.toString(), ""); + + assertNotNull(elementInfoFromNullVfArtifact); + assertNotNull(elementInfoFromNullVfModuleStructure); + assertNotNull(elementInfoFromNullVfResourceStructure); + + assertNotNull(ASDCElementInfo.EMPTY_INSTANCE); + + assertEquals(elementInfoFromNullVfArtifact, ASDCElementInfo.EMPTY_INSTANCE); + assertEquals(elementInfoFromNullVfModuleStructure, ASDCElementInfo.EMPTY_INSTANCE); + assertEquals(elementInfoFromNullVfResourceStructure, ASDCElementInfo.EMPTY_INSTANCE); + + assertEquals(ASDCElementInfo.EMPTY_INSTANCE.getType(), ""); + assertEquals(ASDCElementInfo.EMPTY_INSTANCE.toString(), ""); + + assertEquals(elementInfoFromNullVfArtifact.getType(), ASDCElementInfo.EMPTY_INSTANCE.getType()); + assertEquals(elementInfoFromNullVfModuleStructure.getType(), ASDCElementInfo.EMPTY_INSTANCE.getType()); + assertEquals(elementInfoFromNullVfResourceStructure.getType(), ASDCElementInfo.EMPTY_INSTANCE.getType()); + } + + @Test + public void createASDCElementInfoFromVfResourceTest() { + + String resourceInstanceName = "Resource 1"; + + UUID generatedUUID = UUID.randomUUID(); + + INotificationData notificationData = Mockito.mock(INotificationData.class); + IResourceInstance resourceInstance = Mockito.mock(IResourceInstance.class); + + Mockito.when(resourceInstance.getResourceInstanceName()).thenReturn(resourceInstanceName); + Mockito.when(resourceInstance.getResourceInvariantUUID()).thenReturn(generatedUUID.toString()); + + VfResourceStructure vfResourceStructure = new VfResourceStructure(notificationData, resourceInstance); + + ASDCElementInfo elementInfoFromVfResource = ASDCElementInfo.createElementFromVfResourceStructure(vfResourceStructure); + + assertTrue(elementInfoFromVfResource.toString().contains(resourceInstanceName)); + assertTrue(elementInfoFromVfResource.toString().contains(generatedUUID.toString())); + + assertFalse(ASDCConfiguration.VF_MODULES_METADATA.equals(elementInfoFromVfResource.getType())); + assertEquals(ASDCElementInfo.ASDCElementTypeEnum.VNF_RESOURCE.name(), elementInfoFromVfResource.getType()); + + assertFalse(elementInfoFromVfResource.toString().contains("MyInfo1: someValue")); + elementInfoFromVfResource.addElementInfo("MyInfo1", "someValue"); + assertTrue(elementInfoFromVfResource.toString().contains("MyInfo1: someValue")); + } + + @Test + public void createASDCElementInfoFromVfModuleTest() throws ArtifactInstallerException { + + String resourceInstanceName = "Resource 1"; + + UUID generatedUUID = UUID.randomUUID(); + + INotificationData notificationData = Mockito.mock(INotificationData.class); + IResourceInstance resourceInstance = Mockito.mock(IResourceInstance.class); + + Mockito.when(resourceInstance.getResourceInstanceName()).thenReturn(resourceInstanceName); + Mockito.when(resourceInstance.getResourceInvariantUUID()).thenReturn(generatedUUID.toString()); + + VfResourceStructure vfResourceStructure = new VfResourceStructure(notificationData, resourceInstance); + + // Create module structure now + + String vfModuleModelName = "Module Model XYZ"; + + UUID generatedUUIDForModule = UUID.randomUUID(); + + IVfModuleMetadata moduleMetadata = Mockito.mock(IVfModuleMetadata.class); + Mockito.when(moduleMetadata.getVfModuleModelName()).thenReturn(vfModuleModelName); + Mockito.when(moduleMetadata.getVfModuleModelInvariantUUID()).thenReturn(generatedUUIDForModule.toString()); + Mockito.when(moduleMetadata.getArtifacts()).thenReturn(Collections. emptyList()); + + VfModuleStructure vfModuleStructure = new VfModuleStructure(vfResourceStructure, moduleMetadata); + + ASDCElementInfo elementInfoFromVfModule = ASDCElementInfo.createElementFromVfModuleStructure(vfModuleStructure); + + assertTrue(elementInfoFromVfModule.toString().contains(vfModuleModelName)); + assertTrue(elementInfoFromVfModule.toString().contains(generatedUUIDForModule.toString())); + + assertFalse(ASDCElementInfo.ASDCElementTypeEnum.VNF_RESOURCE.name().equals(elementInfoFromVfModule.getType())); + assertEquals(ASDCConfiguration.VF_MODULES_METADATA, elementInfoFromVfModule.getType()); + + assertFalse(elementInfoFromVfModule.toString().contains("MyInfo2: someValue")); + elementInfoFromVfModule.addElementInfo("MyInfo2", "someValue"); + assertTrue(elementInfoFromVfModule.toString().contains("MyInfo2: someValue")); + } + + @Test + public void createASDCElementInfoFromArtifact() { + for (String eVal : ASDCConfiguration.SUPPORTED_ARTIFACT_TYPES_LIST) { + String generatedArtifactName = eVal + " 1"; + UUID generatedUUIDForArtifact = UUID.randomUUID(); + + IArtifactInfo artifactInfo = Mockito.mock(IArtifactInfo.class); + Mockito.when(artifactInfo.getArtifactType()).thenReturn(eVal); + Mockito.when(artifactInfo.getArtifactName()).thenReturn(generatedArtifactName); + Mockito.when(artifactInfo.getArtifactUUID()).thenReturn(generatedUUIDForArtifact.toString()); + + ASDCElementInfo elementInfoFromArtifact = ASDCElementInfo.createElementFromVfArtifactInfo(artifactInfo); + + assertTrue(elementInfoFromArtifact.toString().contains(generatedArtifactName)); + assertTrue(elementInfoFromArtifact.toString().contains(generatedUUIDForArtifact.toString())); + + assertFalse(ASDCElementInfo.ASDCElementTypeEnum.VNF_RESOURCE.name().equals(elementInfoFromArtifact.getType())); + assertEquals(eVal, elementInfoFromArtifact.getType()); + + assertFalse(elementInfoFromArtifact.toString().contains("MyInfo3: someValue")); + elementInfoFromArtifact.addElementInfo("MyInfo3", "someValue"); + assertTrue(elementInfoFromArtifact.toString().contains("MyInfo3: someValue")); + } + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCGlobalControllerTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCGlobalControllerTest.java new file mode 100644 index 0000000..9ac50c4 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/ASDCGlobalControllerTest.java @@ -0,0 +1,213 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.asdc.client.tests; + + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.codec.binary.Base64; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.mockito.Mockito; + +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.INotificationData; +import org.openecomp.sdc.api.notification.IResourceInstance; +import org.openecomp.sdc.api.results.IDistributionClientDownloadResult; +import org.openecomp.sdc.api.results.IDistributionClientResult; +import org.openecomp.sdc.utils.DistributionActionResultEnum; +import org.openecomp.mso.asdc.client.ASDCConfiguration; +import org.openecomp.mso.asdc.client.ASDCGlobalController; +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.properties.MsoJavaProperties; +import org.openecomp.mso.properties.MsoPropertiesException; +import org.openecomp.mso.properties.MsoPropertiesFactory; + + + +/** + * THis class tests the ASDC Controller by using the ASDC Mock CLient + * + * + */ +public class ASDCGlobalControllerTest { + + private static MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory(); + + private static String heatExample; + private static String heatExampleMD5HashBase64; + + private static INotificationData iNotif; + + private static IDistributionClientDownloadResult downloadResult; + private static IDistributionClientDownloadResult downloadCorruptedResult; + + private static IDistributionClientResult successfulClientInitResult; + private static IDistributionClientResult unsuccessfulClientInitResult; + + private static IArtifactInfo artifactInfo1; + + private static IResourceInstance resource1; + + public static final String ASDC_PROP = MsoJavaProperties.class.getClassLoader().getResource("mso.json").toString().substring(5); + public static final String ASDC_PROP2 = MsoJavaProperties.class.getClassLoader().getResource("mso2.json").toString().substring(5); + public static final String ASDC_PROP3 = MsoJavaProperties.class.getClassLoader().getResource("mso3.json").toString().substring(5); + public static final String ASDC_PROP_BAD = MsoJavaProperties.class.getClassLoader().getResource("mso-bad.json").toString().substring(5); + public static final String ASDC_PROP_WITH_NULL = MsoJavaProperties.class.getClassLoader().getResource("mso-with-NULL.json").toString().substring(5); + public static final String ASDC_PROP_WITH_DOUBLE = MsoJavaProperties.class.getClassLoader().getResource("mso-two-configs.json").toString().substring(5); + public static final String ASDC_PROP_WITH_DOUBLE2 = MsoJavaProperties.class.getClassLoader().getResource("mso-two-configs2.json").toString().substring(5); + + @BeforeClass + public static final void prepareMockNotification() throws MsoPropertiesException, IOException, URISyntaxException, NoSuchAlgorithmException, ArtifactInstallerException { + + heatExample = new String(Files.readAllBytes(Paths.get(ASDCGlobalControllerTest.class.getClassLoader().getResource("resource-examples/autoscaling.yaml").toURI()))); + MessageDigest md = MessageDigest.getInstance("MD5"); + byte[] md5Hash = md.digest(heatExample.getBytes()); + heatExampleMD5HashBase64 = Base64.encodeBase64String(md5Hash); + + iNotif= Mockito.mock(INotificationData.class); + + // Create fake ArtifactInfo + artifactInfo1 = Mockito.mock(IArtifactInfo.class); + Mockito.when(artifactInfo1.getArtifactChecksum()).thenReturn(ASDCGlobalControllerTest.heatExampleMD5HashBase64); + + Mockito.when(artifactInfo1.getArtifactName()).thenReturn("artifact1"); + Mockito.when(artifactInfo1.getArtifactType()).thenReturn(ASDCConfiguration.HEAT); + Mockito.when(artifactInfo1.getArtifactURL()).thenReturn("https://localhost:8080/v1/catalog/services/srv1/2.0/resources/aaa/1.0/artifacts/aaa.yml"); + Mockito.when(artifactInfo1.getArtifactUUID()).thenReturn("UUID1"); + Mockito.when(artifactInfo1.getArtifactDescription()).thenReturn("testos artifact1"); + + // Now provision the NotificationData mock + List listArtifact = new ArrayList(); + listArtifact.add(artifactInfo1); + + // Create fake resource Instance + resource1 = Mockito.mock (IResourceInstance.class); + Mockito.when (resource1.getResourceType ()).thenReturn ("VF"); + Mockito.when (resource1.getResourceName ()).thenReturn ("resourceName"); + Mockito.when (resource1.getArtifacts ()).thenReturn (listArtifact); + + List resources = new ArrayList<> (); + resources.add (resource1); + + Mockito.when(iNotif.getResources()).thenReturn(resources); + Mockito.when(iNotif.getDistributionID()).thenReturn("distributionID1"); + Mockito.when(iNotif.getServiceName()).thenReturn("serviceName1"); + Mockito.when(iNotif.getServiceUUID()).thenReturn("serviceNameUUID1"); + Mockito.when(iNotif.getServiceVersion()).thenReturn("1.0"); + + downloadResult = Mockito.mock(IDistributionClientDownloadResult.class); + Mockito.when(downloadResult.getArtifactPayload()).thenReturn(heatExample.getBytes()); + Mockito.when(downloadResult.getDistributionActionResult()).thenReturn(DistributionActionResultEnum.SUCCESS); + Mockito.when(downloadResult.getDistributionMessageResult()).thenReturn("Success"); + + downloadCorruptedResult = Mockito.mock(IDistributionClientDownloadResult.class); + Mockito.when(downloadCorruptedResult.getArtifactPayload()).thenReturn((heatExample+"badone").getBytes()); + Mockito.when(downloadCorruptedResult.getDistributionActionResult()).thenReturn(DistributionActionResultEnum.SUCCESS); + Mockito.when(downloadCorruptedResult.getDistributionMessageResult()).thenReturn("Success"); + + + // Mock now the ASDC distribution client behavior + successfulClientInitResult = Mockito.mock(IDistributionClientResult.class); + Mockito.when(successfulClientInitResult.getDistributionActionResult ()).thenReturn(DistributionActionResultEnum.SUCCESS); + + unsuccessfulClientInitResult = Mockito.mock(IDistributionClientResult.class); + Mockito.when(unsuccessfulClientInitResult.getDistributionActionResult ()).thenReturn(DistributionActionResultEnum.GENERAL_ERROR); + + } + + @Before + public final void initBeforeEachTest() throws MsoPropertiesException { + // load the config + msoPropertiesFactory.removeAllMsoProperties(); + msoPropertiesFactory.initializeMsoProperties(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP); + } + + @AfterClass + public static final void kill () throws MsoPropertiesException { + + msoPropertiesFactory.removeMsoProperties(ASDCConfiguration.MSO_PROP_ASDC); + } + + @Test + public final void testUpdateControllersConfigIfNeeded() throws ASDCControllerException, ASDCParametersException, IOException, MsoPropertiesException { + + ASDCGlobalController asdcGlobalController = new ASDCGlobalController(); + assertTrue(asdcGlobalController.getControllers().size()==0); + + // first init + assertTrue(asdcGlobalController.updateControllersConfigIfNeeded()); + assertTrue(asdcGlobalController.getControllers().size()==1); + assertTrue(asdcGlobalController.getControllers().get("asdc-controller1") != null); + + // Add a second one + msoPropertiesFactory.removeAllMsoProperties(); + msoPropertiesFactory.initializeMsoProperties(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP_WITH_DOUBLE); + assertTrue(asdcGlobalController.updateControllersConfigIfNeeded()); + assertTrue(asdcGlobalController.getControllers().size()==2); + assertTrue(asdcGlobalController.getControllers().get("asdc-controller1") != null); + assertTrue(asdcGlobalController.getControllers().get("asdc-controller2") != null); + // Check that update does nothing + assertFalse(asdcGlobalController.updateControllersConfigIfNeeded()); + assertTrue(asdcGlobalController.getControllers().size()==2); + + // Change the second one name + msoPropertiesFactory.removeAllMsoProperties(); + msoPropertiesFactory.initializeMsoProperties(ASDCConfiguration.MSO_PROP_ASDC, ASDC_PROP_WITH_DOUBLE2); + assertTrue(asdcGlobalController.updateControllersConfigIfNeeded()); + assertTrue(asdcGlobalController.getControllers().size()==2); + assertTrue(asdcGlobalController.getControllers().get("asdc-controller1") != null); + assertTrue(asdcGlobalController.getControllers().get("asdc-controller2B") != null); + + + } + + @Test + public final void testCloseASDC() { + + ASDCGlobalController asdcGlobalController = new ASDCGlobalController(); + assertTrue(asdcGlobalController.getControllers().size()==0); + + // first init + assertTrue(asdcGlobalController.updateControllersConfigIfNeeded()); + assertTrue(asdcGlobalController.getControllers().size()==1); + assertTrue(asdcGlobalController.getControllers().get("asdc-controller1") != null); + + asdcGlobalController.closeASDC(); + assertTrue(asdcGlobalController.getControllers().size()==0); + + + } + +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/BigDecimalVersionTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/BigDecimalVersionTest.java new file mode 100644 index 0000000..7decaff --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/BigDecimalVersionTest.java @@ -0,0 +1,53 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.asdc.client.tests; + + +import static org.junit.Assert.assertTrue; +import java.math.BigDecimal; +import org.junit.Test; + +import org.openecomp.mso.asdc.installer.BigDecimalVersion; + + +public class BigDecimalVersionTest { + + @Test + public final void versionCastTest () { + + BigDecimal versionDecimal = BigDecimalVersion.castAndCheckNotificationVersion("12.0"); + assertTrue(versionDecimal.equals(new BigDecimal("12.0"))); + assertTrue("12.0".equals(BigDecimalVersion.castAndCheckNotificationVersionToString("12.0"))); + + versionDecimal = BigDecimalVersion.castAndCheckNotificationVersion("12.0.2"); + assertTrue(versionDecimal.equals(new BigDecimal("12.02"))); + assertTrue("12.02".equals(BigDecimalVersion.castAndCheckNotificationVersionToString("12.0.2"))); + + versionDecimal = BigDecimalVersion.castAndCheckNotificationVersion("10"); + assertTrue(versionDecimal.equals(new BigDecimal("10"))); + assertTrue("10".equals(BigDecimalVersion.castAndCheckNotificationVersionToString("10"))); + + versionDecimal = BigDecimalVersion.castAndCheckNotificationVersion("10.1.2.6"); + assertTrue(versionDecimal.equals(new BigDecimal("10.126"))); + assertTrue("10.126".equals(BigDecimalVersion.castAndCheckNotificationVersionToString("10.1.2.6"))); + + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/YamlTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/YamlTest.java new file mode 100644 index 0000000..bce9324 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/client/tests/YamlTest.java @@ -0,0 +1,165 @@ +/*- + * ============LICENSE_START======================================================= + * OPENECOMP - MSO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.mso.asdc.client.tests; + + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.apache.commons.io.IOUtils; +import org.junit.Test; + +import org.openecomp.mso.asdc.installer.heat.VfResourceInstaller; +import org.openecomp.mso.asdc.util.YamlEditor; +import org.openecomp.mso.db.catalog.beans.HeatTemplateParam; + + +public class YamlTest { + @Test + public void getYamlResourceTypeTestList() throws Exception { + + InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTest.yaml")); + YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input)); + List typeList = decoder.getYamlNestedFileResourceTypeList(); + + assertTrue(typeList.size() == 1 && typeList.get(0).equals("file:///my_test.yaml")); + } + + @Test + public void getParameterListTest() throws Exception { + + InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTest.yaml")); + YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input)); + Set paramSet = decoder.getParameterList(); + + assertTrue(paramSet.size() == 5); + + for (HeatTemplateParam param : paramSet) { + if ("ip_port_snmp_manager".equals(param.getParamName()) || "cor_direct_net_name".equals(param.getParamName()) || "cor_direct_net_RT".equals(param.getParamName())) { + + assertTrue(param.isRequired()==false); + } else { + + assertTrue(param.isRequired()==true); + } + + assertTrue("string".equals(param.getParamType())); + } + } + + @Test + public void addParameterListWhenEmptyTest() throws Exception { + + InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTestWithoutParam.yaml")); + YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input)); + + Set newParamSet = new HashSet (); + + HeatTemplateParam heatParam1 = new HeatTemplateParam(); + heatParam1.setId(1); + heatParam1.setParamName("testos1"); + heatParam1.setParamType("string"); + + HeatTemplateParam heatParam2 = new HeatTemplateParam(); + heatParam2.setId(2); + heatParam2.setParamName("testos2"); + heatParam2.setParamType("number"); + + newParamSet.add(heatParam1); + newParamSet.add(heatParam2); + + decoder.addParameterList(newParamSet); + + Set paramSet = decoder.getParameterList(); + assertTrue(paramSet.size() == 2); + + assertTrue(decoder.encode().contains("testos1")); + assertTrue(decoder.encode().contains("string")); + assertTrue(decoder.encode().contains("testos2")); + assertTrue(decoder.encode().contains("number")); + } + + @Test + public void addParameterListTest() throws Exception { + + InputStream input = new FileInputStream(new File("src/test/resources/resource-examples/simpleTest.yaml")); + YamlEditor decoder = new YamlEditor (IOUtils.toByteArray(input)); + + Set newParamSet = new HashSet (); + + HeatTemplateParam heatParam1 = new HeatTemplateParam(); + heatParam1.setId(1); + heatParam1.setParamName("testos1"); + heatParam1.setParamType("string"); + + HeatTemplateParam heatParam2 = new HeatTemplateParam(); + heatParam2.setId(2); + heatParam2.setParamName("testos2"); + heatParam2.setParamType("number"); + + newParamSet.add(heatParam1); + newParamSet.add(heatParam2); + + decoder.addParameterList(newParamSet); + + Set paramSet = decoder.getParameterList(); + + assertTrue(paramSet.size() == 7); + + Boolean check1 = Boolean.FALSE; + Boolean check2 = Boolean.FALSE; + + for (HeatTemplateParam param : paramSet) { + if ("ip_port_snmp_manager".equals(param.getParamName()) || "cor_direct_net_name".equals(param.getParamName()) || "cor_direct_net_RT".equals(param.getParamName())) { + assertFalse(param.isRequired()); + } else { + assertTrue(param.isRequired()); + } + + if ("testos1".equals(param.getParamName()) && "string".equals(param.getParamType())) { + check1=Boolean.TRUE; + } + + if ("testos2".equals(param.getParamName()) && "number".equals(param.getParamType())) { + check2=Boolean.TRUE; + } + + } + + assertTrue(check1); + assertTrue(check2); + } + + @Test + public void VfResourceInstallerTest() throws Exception { + + assertTrue("mon ami toto, est dans le bois: toto ici".equals(VfResourceInstaller.verifyTheFilePrefixInString("mon ami toto, est dans le bois: toto ici","toto"))); + assertTrue("mon ami toto, est dans le bois: toto ici".equals(VfResourceInstaller.verifyTheFilePrefixInString("mon ami file:///toto, est dans le bois: file:///toto ici","toto"))); + assertTrue("mon ami toto, est dans le bois: toto ici".equals(VfResourceInstaller.verifyTheFilePrefixInString("mon ami file:///toto, est dans le bois: toto ici","toto"))); + assertTrue("mon ami toto, est dans le bois: toto ici".equals(VfResourceInstaller.verifyTheFilePrefixInString("mon ami toto, est dans le bois: file:///toto ici","toto"))); + + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/ASDCElementInfoESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/ASDCElementInfoESTest.java new file mode 100644 index 0000000..8dd5afe --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/ASDCElementInfoESTest.java @@ -0,0 +1,139 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:35:55 GMT 2016 + */ + +package org.openecomp.mso.asdc.installer; + +import org.junit.Test; +import static org.junit.Assert.*; +import static org.evosuite.shaded.org.mockito.Mockito.*; +import static org.evosuite.runtime.EvoAssertions.*; + +import java.util.List; +import java.util.Map; +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.evosuite.runtime.PrivateAccess; +import org.evosuite.runtime.ViolatedAssumptionAnswer; +import org.junit.runner.RunWith; +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.INotificationData; +import org.openecomp.sdc.api.notification.IResourceInstance; +import org.openecomp.sdc.api.notification.IVfModuleMetadata; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class ASDCElementInfoESTest extends ASDCElementInfoESTestscaffolding { + + @Test(timeout = 4000) + public void test00() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iResourceInstance0).getResourceInstanceName(); + doReturn((String) null).when(iResourceInstance0).getResourceInvariantUUID(); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + ASDCElementInfo aSDCElementInfo0 = ASDCElementInfo.createElementFromVfResourceStructure(vfResourceStructure0); + String string0 = aSDCElementInfo0.getType(); + assertEquals("VNF_RESOURCE", string0); + } + + @Test(timeout = 4000) + public void test01() throws Throwable { + ASDCElementInfo aSDCElementInfo0 = ASDCElementInfo.createElementFromVfModuleStructure((VfModuleStructure) null); + Map map0 = aSDCElementInfo0.getElementInfoMap(); + assertTrue(map0.isEmpty()); + } + + @Test(timeout = 4000) + public void test02() throws Throwable { + Map map0 = ASDCElementInfo.EMPTY_INSTANCE.getElementInfoMap(); + assertTrue(map0.isEmpty()); + } + + @Test(timeout = 4000) + public void test03() throws Throwable { + ASDCElementInfo aSDCElementInfo0 = ASDCElementInfo.EMPTY_INSTANCE; + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iArtifactInfo0).getArtifactName(); + doReturn((String) null).when(iArtifactInfo0).getArtifactType(); + doReturn((String) null).when(iArtifactInfo0).getArtifactUUID(); + ASDCElementInfo aSDCElementInfo1 = ASDCElementInfo.createElementFromVfArtifactInfo(iArtifactInfo0); + aSDCElementInfo0.toString(); + PrivateAccess.setVariable((Class) ASDCElementInfo.class, aSDCElementInfo1, "elementInfoMap", (Object) null); + aSDCElementInfo0.toString(); + // Undeclared exception! + try { + aSDCElementInfo1.toString(); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.installer.ASDCElementInfo", e); + } + } + + @Test(timeout = 4000) + public void test05() throws Throwable { + ASDCElementInfo aSDCElementInfo0 = ASDCElementInfo.EMPTY_INSTANCE; + aSDCElementInfo0.addElementInfo("V$", (String) null); + assertEquals("", aSDCElementInfo0.getType()); + } + + @Test(timeout = 4000) + public void test06() throws Throwable { + ASDCElementInfo aSDCElementInfo0 = ASDCElementInfo.createElementFromVfModuleStructure((VfModuleStructure) null); + String string0 = aSDCElementInfo0.EMPTY_INSTANCE.getType(); + assertEquals("", string0); + } + + @Test(timeout = 4000) + public void test07() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, (IResourceInstance) null); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + doReturn((List) null).when(iVfModuleMetadata0).getArtifacts(); + VfModuleStructure vfModuleStructure0 = null; + try { + vfModuleStructure0 = new VfModuleStructure(vfResourceStructure0, iVfModuleMetadata0); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.installer.VfModuleStructure", e); + } + } + + @Test(timeout = 4000) + public void test08() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + doReturn(" Name").when(iResourceInstance0).getResourceInstanceName(); + doReturn(" Name").when(iResourceInstance0).getResourceInvariantUUID(); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + ASDCElementInfo aSDCElementInfo0 = ASDCElementInfo.createElementFromVfResourceStructure(vfResourceStructure0); + String string0 = aSDCElementInfo0.toString(); + assertEquals("Resource Instance Invariant UUID: Name, Resource Instance Name: Name", string0); + } + + @Test(timeout = 4000) + public void test09() throws Throwable { + ASDCElementInfo aSDCElementInfo0 = ASDCElementInfo.createElementFromVfArtifactInfo((IArtifactInfo) null); + aSDCElementInfo0.addElementInfo((String) null, ""); + assertEquals("", aSDCElementInfo0.getType()); + } + + @Test(timeout = 4000) + public void test10() throws Throwable { + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iArtifactInfo0).getArtifactName(); + doReturn((String) null).when(iArtifactInfo0).getArtifactType(); + doReturn((String) null).when(iArtifactInfo0).getArtifactUUID(); + ASDCElementInfo aSDCElementInfo0 = ASDCElementInfo.createElementFromVfArtifactInfo(iArtifactInfo0); + String string0 = aSDCElementInfo0.getType(); + assertNull(string0); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/ASDCElementInfoESTestscaffolding.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/ASDCElementInfoESTestscaffolding.java new file mode 100644 index 0000000..075970b --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/ASDCElementInfoESTestscaffolding.java @@ -0,0 +1,100 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Fri Nov 25 13:35:55 GMT 2016 + */ + +package org.openecomp.mso.asdc.installer; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class ASDCElementInfoESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.asdc.installer.ASDCElementInfo"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(ASDCElementInfoESTestscaffolding.class.getClassLoader() , + "org.openecomp.sdc.api.IDistributionClient", + "org.openecomp.mso.db.catalog.utils.MavenLikeVersioning", + "org.openecomp.mso.asdc.installer.VfResourceStructure", + "org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException", + "org.openecomp.mso.db.catalog.beans.VnfResource", + "org.openecomp.sdc.api.notification.IVfModuleMetadata", + "org.openecomp.mso.db.catalog.beans.VfModule", + "org.openecomp.sdc.api.results.IDistributionClientResult", + "org.openecomp.sdc.api.notification.IArtifactInfo", + "org.openecomp.mso.db.catalog.beans.Service", + "org.openecomp.mso.asdc.installer.VfModuleStructure", + "org.openecomp.sdc.api.notification.INotificationData", + "org.openecomp.mso.asdc.installer.VfModuleArtifact", + "org.openecomp.sdc.api.notification.IResourceInstance", + "org.openecomp.mso.asdc.installer.ASDCElementInfo", + "org.openecomp.sdc.api.results.IDistributionClientDownloadResult", + "org.openecomp.mso.asdc.installer.ASDCElementInfo$ASDCElementTypeEnum" + ); + } + + private static void resetClasses() { + org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(ASDCElementInfoESTestscaffolding.class.getClassLoader()); + + org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( + "org.openecomp.mso.asdc.installer.ASDCElementInfo$ASDCElementTypeEnum", + "org.openecomp.mso.asdc.installer.ASDCElementInfo", + "org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException" + ); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/BigDecimalVersionESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/BigDecimalVersionESTest.java new file mode 100644 index 0000000..4675f05 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/BigDecimalVersionESTest.java @@ -0,0 +1,138 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:37:47 GMT 2016 + */ + +package org.openecomp.mso.asdc.installer; + +import org.junit.Test; +import static org.junit.Assert.*; +import static org.evosuite.runtime.EvoAssertions.*; + +import java.math.BigDecimal; +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.junit.runner.RunWith; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class BigDecimalVersionESTest extends BigDecimalVersionESTestscaffolding { + + @Test(timeout = 4000) + public void test00() throws Throwable { + String string0 = BigDecimalVersion.castAndCheckNotificationVersionToString("9"); + assertEquals("9", string0); + } + + @Test(timeout = 4000) + public void test01() throws Throwable { + BigDecimal bigDecimal0 = BigDecimalVersion.castAndCheckNotificationVersion("0"); + assertEquals(0, bigDecimal0.shortValue()); + } + + @Test(timeout = 4000) + public void test02() throws Throwable { + BigDecimal bigDecimal0 = BigDecimalVersion.castAndCheckNotificationVersion("9"); + assertEquals(9, bigDecimal0.byteValue()); + } + + @Test(timeout = 4000) + public void test03() throws Throwable { + BigDecimal bigDecimal0 = BigDecimalVersion.castAndCheckNotificationVersion("-1"); + assertEquals(-1, bigDecimal0.byteValue()); + } + + @Test(timeout = 4000) + public void test04() throws Throwable { + // Undeclared exception! + try { + BigDecimalVersion.castAndCheckNotificationVersionToString("fgt+&6@pL9`5EE}.!.,"); + fail("Expecting exception: NumberFormatException"); + + } catch(NumberFormatException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("java.math.BigDecimal", e); + } + } + + @Test(timeout = 4000) + public void test05() throws Throwable { + // Undeclared exception! + try { + BigDecimalVersion.castAndCheckNotificationVersionToString((String) null); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.installer.BigDecimalVersion", e); + } + } + + @Test(timeout = 4000) + public void test06() throws Throwable { + // Undeclared exception! + try { + BigDecimalVersion.castAndCheckNotificationVersion((String) null); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.installer.BigDecimalVersion", e); + } + } + + @Test(timeout = 4000) + public void test07() throws Throwable { + // Undeclared exception! + try { + BigDecimalVersion.castAndCheckNotificationVersion("."); + fail("Expecting exception: ArrayIndexOutOfBoundsException"); + + } catch(ArrayIndexOutOfBoundsException e) { + // + // 0 + // + verifyException("org.openecomp.mso.asdc.installer.BigDecimalVersion", e); + } + } + + @Test(timeout = 4000) + public void test08() throws Throwable { + // Undeclared exception! + try { + BigDecimalVersion.castAndCheckNotificationVersion("Mf**K`5E.~Fu.,q"); + fail("Expecting exception: NumberFormatException"); + + } catch(NumberFormatException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("java.math.BigDecimal", e); + } + } + + @Test(timeout = 4000) + public void test09() throws Throwable { + BigDecimalVersion bigDecimalVersion0 = new BigDecimalVersion(); + } + + @Test(timeout = 4000) + public void test10() throws Throwable { + // Undeclared exception! + try { + BigDecimalVersion.castAndCheckNotificationVersionToString("."); + fail("Expecting exception: ArrayIndexOutOfBoundsException"); + + } catch(ArrayIndexOutOfBoundsException e) { + // + // 0 + // + verifyException("org.openecomp.mso.asdc.installer.BigDecimalVersion", e); + } + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/BigDecimalVersionESTestscaffolding.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/BigDecimalVersionESTestscaffolding.java new file mode 100644 index 0000000..c04ada8 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/BigDecimalVersionESTestscaffolding.java @@ -0,0 +1,77 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Fri Nov 25 13:37:47 GMT 2016 + */ + +package org.openecomp.mso.asdc.installer; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class BigDecimalVersionESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.asdc.installer.BigDecimalVersion"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(BigDecimalVersionESTestscaffolding.class.getClassLoader() , + "org.openecomp.mso.asdc.installer.BigDecimalVersion" + ); + } + + private static void resetClasses() { + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleArtifactESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleArtifactESTest.java new file mode 100644 index 0000000..c9b29ae --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleArtifactESTest.java @@ -0,0 +1,154 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:20:32 GMT 2016 + */ + +package org.openecomp.mso.asdc.installer; + +import org.junit.Test; +import static org.junit.Assert.*; +import static org.evosuite.shaded.org.mockito.Mockito.*; +import static org.evosuite.runtime.EvoAssertions.*; + +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.evosuite.runtime.PrivateAccess; +import org.evosuite.runtime.ViolatedAssumptionAnswer; +import org.junit.runner.RunWith; +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.results.IDistributionClientDownloadResult; +import org.openecomp.sdc.impl.DistributionClientDownloadResultImpl; +import org.openecomp.sdc.utils.DistributionActionResultEnum; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class VfModuleArtifactESTest extends VfModuleArtifactESTestscaffolding { + + @Test(timeout = 4000) + public void test00() throws Throwable { + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + DistributionActionResultEnum distributionActionResultEnum0 = DistributionActionResultEnum.CONF_MISSING_ARTIFACT_TYPES; + byte[] byteArray0 = new byte[1]; + DistributionClientDownloadResultImpl distributionClientDownloadResultImpl0 = new DistributionClientDownloadResultImpl(distributionActionResultEnum0, "7pKd8", "7pKd8", byteArray0); + VfModuleArtifact vfModuleArtifact0 = new VfModuleArtifact(iArtifactInfo0, (IDistributionClientDownloadResult) distributionClientDownloadResultImpl0); + PrivateAccess.setVariable((Class) VfModuleArtifact.class, vfModuleArtifact0, "result", (Object) null); + vfModuleArtifact0.getResult(); + assertEquals(0, vfModuleArtifact0.getDeployedInDb()); + } + + @Test(timeout = 4000) + public void test01() throws Throwable { + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + DistributionActionResultEnum distributionActionResultEnum0 = DistributionActionResultEnum.DISTRIBUTION_CLIENT_ALREADY_INITIALIZED; + byte[] byteArray0 = new byte[0]; + DistributionClientDownloadResultImpl distributionClientDownloadResultImpl0 = new DistributionClientDownloadResultImpl(distributionActionResultEnum0, "o) VfModuleArtifact.class, vfModuleArtifact0, "deployedInDb", (Object) (-40)); + int int0 = vfModuleArtifact0.getDeployedInDb(); + assertEquals((-40), int0); + } + + @Test(timeout = 4000) + public void test04() throws Throwable { + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + DistributionActionResultEnum distributionActionResultEnum0 = DistributionActionResultEnum.DISTRIBUTION_CLIENT_ALREADY_INITIALIZED; + byte[] byteArray0 = new byte[0]; + DistributionClientDownloadResultImpl distributionClientDownloadResultImpl0 = new DistributionClientDownloadResultImpl(distributionActionResultEnum0, "o linkedList0 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + doReturn(linkedList0).when(iVfModuleMetadata0).getArtifacts(); + linkedList0.add(""); + VfModuleStructure vfModuleStructure0 = null; + try { + vfModuleStructure0 = new VfModuleStructure(vfResourceStructure0, iVfModuleMetadata0); + fail("Expecting exception: Exception"); + + } catch(Exception e) { + // + // Artifact (UUID:) referenced in the VFModule UUID list has not been downloaded, cancelling the Resource deployment + // + verifyException("org.openecomp.mso.asdc.installer.VfModuleStructure", e); + } + } + + @Test(timeout = 4000) + public void test4() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + vfResourceStructure0.setSuccessfulDeployment(); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + doReturn((List) null).when(iVfModuleMetadata0).getArtifacts(); + vfResourceStructure0.setSuccessfulDeployment(); + VfModuleStructure vfModuleStructure0 = null; + try { + vfModuleStructure0 = new VfModuleStructure(vfResourceStructure0, iVfModuleMetadata0); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.installer.VfModuleStructure", e); + } + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleStructureESTestscaffolding.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleStructureESTestscaffolding.java new file mode 100644 index 0000000..f6aa2ab --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfModuleStructureESTestscaffolding.java @@ -0,0 +1,96 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Fri Nov 25 13:37:00 GMT 2016 + */ + +package org.openecomp.mso.asdc.installer; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class VfModuleStructureESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.asdc.installer.VfModuleStructure"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(VfModuleStructureESTestscaffolding.class.getClassLoader() , + "org.openecomp.sdc.api.IDistributionClient", + "org.openecomp.mso.db.catalog.utils.MavenLikeVersioning", + "org.openecomp.mso.asdc.installer.VfResourceStructure", + "org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException", + "org.openecomp.mso.db.catalog.beans.VnfResource", + "org.openecomp.sdc.api.notification.IVfModuleMetadata", + "org.openecomp.mso.db.catalog.beans.VfModule", + "org.openecomp.sdc.api.results.IDistributionClientResult", + "org.openecomp.sdc.api.notification.IArtifactInfo", + "org.openecomp.mso.db.catalog.beans.Service", + "org.openecomp.mso.asdc.installer.VfModuleStructure", + "org.openecomp.sdc.api.notification.INotificationData", + "org.openecomp.mso.asdc.installer.VfModuleArtifact", + "org.openecomp.sdc.api.notification.IResourceInstance", + "org.openecomp.sdc.api.results.IDistributionClientDownloadResult" + ); + } + + private static void resetClasses() { + org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(VfModuleStructureESTestscaffolding.class.getClassLoader()); + + org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( + "org.openecomp.mso.asdc.client.exceptions.ArtifactInstallerException" + ); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfResourceStructureESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfResourceStructureESTest.java new file mode 100644 index 0000000..4a27df3 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/installer/VfResourceStructureESTest.java @@ -0,0 +1,400 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:29:36 GMT 2016 + */ + +package org.openecomp.mso.asdc.installer; + +import org.junit.Test; +import static org.junit.Assert.*; +import static org.evosuite.shaded.org.mockito.Mockito.*; +import static org.evosuite.runtime.EvoAssertions.*; + +import org.openecomp.mso.db.catalog.beans.Service; +import org.openecomp.mso.db.catalog.beans.VnfResource; +import java.time.chrono.ChronoLocalDate; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.evosuite.runtime.PrivateAccess; +import org.evosuite.runtime.ViolatedAssumptionAnswer; +import org.evosuite.runtime.mock.java.time.chrono.MockHijrahDate; +import org.junit.runner.RunWith; +import org.openecomp.sdc.api.IDistributionClient; +import org.openecomp.sdc.api.notification.IArtifactInfo; +import org.openecomp.sdc.api.notification.INotificationData; +import org.openecomp.sdc.api.notification.IResourceInstance; +import org.openecomp.sdc.impl.DistributionClientDownloadResultImpl; +import org.openecomp.sdc.impl.mock.DistributionClientDownloadResultStubImpl; +import org.openecomp.sdc.impl.mock.DistributionClientStubImpl; +import org.openecomp.sdc.utils.DistributionActionResultEnum; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class VfResourceStructureESTest extends VfResourceStructureESTestscaffolding { + + @Test(timeout = 4000) + public void test00() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "vfModulesStructureList", (Object) null); + vfResourceStructure0.getVfModuleStructure(); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + } + + @Test(timeout = 4000) + public void test01() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + LinkedList linkedList0 = new LinkedList(); + linkedList0.add((Object) vfResourceStructure0); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "vfModulesStructureList", (Object) linkedList0); + vfResourceStructure0.getVfModuleStructure(); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + } + + @Test(timeout = 4000) + public void test02() throws Throwable { + VfResourceStructure vfResourceStructure0 = new VfResourceStructure((INotificationData) null, (IResourceInstance) null); + vfResourceStructure0.getResourceInstance(); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + } + + @Test(timeout = 4000) + public void test03() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("").when(iNotificationData0).toString(); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + vfResourceStructure0.getNotification(); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + } + + @Test(timeout = 4000) + public void test04() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + Service service0 = new Service(); + service0.setId(6); + vfResourceStructure0.setCatalogService(service0); + vfResourceStructure0.getCatalogService(); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + } + + @Test(timeout = 4000) + public void test05() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + Iterator iterator0 = (Iterator) mock(Iterator.class, new ViolatedAssumptionAnswer()); + List list0 = (List) mock(List.class, new ViolatedAssumptionAnswer()); + doReturn((Iterator) null).when(list0).iterator(); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "vfModulesMetadataList", (Object) list0); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "isDeployedSuccessfully", (Object) true); + List list1 = (List) mock(List.class, new ViolatedAssumptionAnswer()); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "isDeployedSuccessfully", (Object) true); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "vfModulesStructureList", (Object) list1); + // Undeclared exception! + try { + vfResourceStructure0.createVfModuleStructures(); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.installer.VfResourceStructure", e); + } + } + + @Test(timeout = 4000) + public void test06() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + Iterator iterator0 = (Iterator) mock(Iterator.class, new ViolatedAssumptionAnswer()); + doReturn(false).when(iterator0).hasNext(); + List list0 = (List) mock(List.class, new ViolatedAssumptionAnswer()); + doReturn(iterator0).when(list0).iterator(); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "vfModulesMetadataList", (Object) list0); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "isDeployedSuccessfully", (Object) true); + List list1 = (List) mock(List.class, new ViolatedAssumptionAnswer()); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "isDeployedSuccessfully", (Object) true); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "vfModulesStructureList", (Object) list1); + vfResourceStructure0.createVfModuleStructures(); + IDistributionClient iDistributionClient0 = mock(IDistributionClient.class, new ViolatedAssumptionAnswer()); + IArtifactInfo iArtifactInfo0 = null; + DistributionActionResultEnum distributionActionResultEnum0 = DistributionActionResultEnum.ARTIFACT_NOT_FOUND; + DistributionClientDownloadResultImpl distributionClientDownloadResultImpl0 = new DistributionClientDownloadResultImpl(distributionActionResultEnum0, ""); + List list2 = (List) mock(List.class, new ViolatedAssumptionAnswer()); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "vfModulesMetadataList", (Object) list2); + // Undeclared exception! + try { + vfResourceStructure0.addArtifactToStructure(iDistributionClient0, (IArtifactInfo) null, distributionClientDownloadResultImpl0); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + } + } + + @Test(timeout = 4000) + public void test07() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + ChronoLocalDate chronoLocalDate0 = mock(ChronoLocalDate.class, new ViolatedAssumptionAnswer()); + Iterator iterator0 = (Iterator) mock(Iterator.class, new ViolatedAssumptionAnswer()); + doReturn(true).when(iterator0).hasNext(); + doReturn(chronoLocalDate0).when(iterator0).next(); + List list0 = (List) mock(List.class, new ViolatedAssumptionAnswer()); + doReturn(iterator0).when(list0).iterator(); + PrivateAccess.setVariable((Class) VfResourceStructure.class, vfResourceStructure0, "vfModulesMetadataList", (Object) list0); + // Undeclared exception! + try { + vfResourceStructure0.createVfModuleStructures(); + fail("Expecting exception: ClassCastException"); + + } catch(ClassCastException e) { + // + // $java.time.chrono.ChronoLocalDate$$EnhancerByMockitoWithCGLIB$$27d47344 cannot be cast to org.openecomp.sdc.api.notification.IVfModuleMetadata + // + verifyException("org.openecomp.mso.asdc.installer.VfResourceStructure", e); + } + } + + @Test(timeout = 4000) + public void test08() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + try { + vfResourceStructure0.createVfModuleStructures(); + fail("Expecting exception: Exception"); + + } catch(Exception e) { + // + // VfModule Meta DATA could not be decoded properly or was not present in the notification + // + verifyException("org.openecomp.mso.asdc.installer.VfResourceStructure", e); + } + } + + @Test(timeout = 4000) + public void test09() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + DistributionClientStubImpl distributionClientStubImpl0 = new DistributionClientStubImpl(); + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn("%[76").when(iArtifactInfo0).getArtifactType(); + DistributionClientDownloadResultStubImpl distributionClientDownloadResultStubImpl0 = (DistributionClientDownloadResultStubImpl)distributionClientStubImpl0.download(iArtifactInfo0); + vfResourceStructure0.addArtifactToStructure(distributionClientStubImpl0, iArtifactInfo0, distributionClientDownloadResultStubImpl0); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + } + + @Test(timeout = 4000) + public void test10() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + DistributionClientStubImpl distributionClientStubImpl0 = new DistributionClientStubImpl(); + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn("HEAT_ARTIFACT").when(iArtifactInfo0).getArtifactType(); + doReturn((String) null).when(iArtifactInfo0).getArtifactUUID(); + DistributionClientDownloadResultStubImpl distributionClientDownloadResultStubImpl0 = (DistributionClientDownloadResultStubImpl)distributionClientStubImpl0.download(iArtifactInfo0); + vfResourceStructure0.addArtifactToStructure(distributionClientStubImpl0, iArtifactInfo0, distributionClientDownloadResultStubImpl0); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + } + + @Test(timeout = 4000) + public void test11() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + DistributionClientStubImpl distributionClientStubImpl0 = new DistributionClientStubImpl(); + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + DistributionClientDownloadResultStubImpl distributionClientDownloadResultStubImpl0 = (DistributionClientDownloadResultStubImpl)distributionClientStubImpl0.download(iArtifactInfo0); + IArtifactInfo iArtifactInfo1 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn("HEAT").when(iArtifactInfo1).getArtifactType(); + doReturn("%[76").when(iArtifactInfo1).getArtifactUUID(); + vfResourceStructure0.addArtifactToStructure(distributionClientStubImpl0, iArtifactInfo1, distributionClientDownloadResultStubImpl0); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + } + + @Test(timeout = 4000) + public void test12() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + DistributionClientStubImpl distributionClientStubImpl0 = new DistributionClientStubImpl(); + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + DistributionClientDownloadResultStubImpl distributionClientDownloadResultStubImpl0 = (DistributionClientDownloadResultStubImpl)distributionClientStubImpl0.download(iArtifactInfo0); + IArtifactInfo iArtifactInfo1 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn("HEAT_NET").when(iArtifactInfo1).getArtifactType(); + doReturn("HEAT_ENV").when(iArtifactInfo1).getArtifactUUID(); + vfResourceStructure0.addArtifactToStructure(distributionClientStubImpl0, iArtifactInfo1, distributionClientDownloadResultStubImpl0); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + } + + @Test(timeout = 4000) + public void test13() throws Throwable { + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure((INotificationData) null, iResourceInstance0); + DistributionClientStubImpl distributionClientStubImpl0 = new DistributionClientStubImpl(); + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn("HEAT_ENV").when(iArtifactInfo0).getArtifactType(); + doReturn("*Z\"P4rvOA+mW").when(iArtifactInfo0).getArtifactUUID(); + DistributionActionResultEnum distributionActionResultEnum0 = DistributionActionResultEnum.UEB_KEYS_CREATION_FAILED; + byte[] byteArray0 = new byte[6]; + DistributionClientDownloadResultImpl distributionClientDownloadResultImpl0 = new DistributionClientDownloadResultImpl(distributionActionResultEnum0, "]=)|;N.$hV]d^", "s:h+", byteArray0); + vfResourceStructure0.addArtifactToStructure(distributionClientStubImpl0, iArtifactInfo0, distributionClientDownloadResultImpl0); + Map map0 = vfResourceStructure0.getArtifactsMapByUUID(); + assertFalse(vfResourceStructure0.isDeployedSuccessfully()); + assertFalse(map0.isEmpty()); + } + + @Test(timeout = 4000) + public void test14() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + VfResourceStructure vfResourceStructure0 = new VfResourceStructure(iNotificationData0, iResourceInstance0); + DistributionClientStubImpl distributionClientStubImpl0 = new DistributionClientStubImpl(); + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn("VF_MODULES_METADATA").when(iArtifactInfo0).getArtifactType(); + DistributionActionResultEnum distributionActionResultEnum0 = DistributionActionResultEnum.BAD_REQUEST; + byte[] byteArray0 = new byte[2]; + DistributionClientDownloadResultImpl distributionClientDownloadResultImpl0 = new DistributionClientDownloadResultImpl(distributionActionResultEnum0, ") null); + LinkedList linkedList0 = new LinkedList(); + LinkedList linkedList1 = new LinkedList(); + Integer integer0 = new Integer(2147483645); + Integer integer1 = new Integer(2147483645); + Integer integer2 = new Integer(2147483645); + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iArtifactInfo0).getArtifactChecksum(); + doReturn((String) null).when(iArtifactInfo0).getArtifactDescription(); + doReturn((String) null).when(iArtifactInfo0).getArtifactName(); + doReturn((Integer) null).when(iArtifactInfo0).getArtifactTimeout(); + doReturn((String) null).when(iArtifactInfo0).getArtifactType(); + doReturn((String) null).when(iArtifactInfo0).getArtifactURL(); + doReturn((String) null).when(iArtifactInfo0).getArtifactUUID(); + doReturn((String) null).when(iArtifactInfo0).getArtifactVersion(); + doReturn((IArtifactInfo) null).when(iArtifactInfo0).getGeneratedArtifact(); + doReturn((List) null).when(iArtifactInfo0).getRelatedArtifacts(); + IArtifactInfo iArtifactInfo1 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn("Resource Instance Info:").when(iArtifactInfo1).getArtifactChecksum(); + doReturn("~1xF'ZQr|qhuc{").when(iArtifactInfo1).getArtifactDescription(); + doReturn("").when(iArtifactInfo1).getArtifactName(); + doReturn(integer1).when(iArtifactInfo1).getArtifactTimeout(); + doReturn("7<\"g").when(iArtifactInfo1).getArtifactType(); + doReturn("").when(iArtifactInfo1).getArtifactURL(); + doReturn("").when(iArtifactInfo1).getArtifactUUID(); + doReturn("7<\"g").when(iArtifactInfo1).getArtifactVersion(); + doReturn(iArtifactInfo0).when(iArtifactInfo1).getGeneratedArtifact(); + doReturn(linkedList1, linkedList1).when(iArtifactInfo1).getRelatedArtifacts(); + LinkedList linkedList2 = new LinkedList(); + Integer integer3 = new Integer(1); + LinkedList linkedList3 = new LinkedList(); + IArtifactInfo iArtifactInfo2 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn("-X^ og(1=?-*/%4", "%jgpj", (String) null).when(iArtifactInfo2).getArtifactChecksum(); + doReturn("7<\"g", "", (String) null).when(iArtifactInfo2).getArtifactDescription(); + doReturn("7 'W{]65Y%Vh_ynFOr", "]+O?<_o+Mx?P@|^<:|/", (String) null).when(iArtifactInfo2).getArtifactName(); + doReturn(integer0, integer3, (Integer) null).when(iArtifactInfo2).getArtifactTimeout(); + doReturn("]+O?<_o+Mx?P@|^<:|/", "", (String) null).when(iArtifactInfo2).getArtifactType(); + doReturn("i]\r7Wr. ) null); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + INotificationData iNotificationData1 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData1).getDistributionID(); + doReturn(linkedList0, linkedList0).when(iNotificationData1).getResources(); + doReturn(linkedList1).when(iNotificationData1).getServiceArtifacts(); + doReturn("").when(iNotificationData1).getServiceDescription(); + doReturn("Tz)|, ,").when(iNotificationData1).getServiceInvariantUUID(); + doReturn("").when(iNotificationData1).getServiceName(); + doReturn("").when(iNotificationData1).getServiceUUID(); + doReturn("Tz)|, ,").when(iNotificationData1).getServiceVersion(); + String string1 = ASDCNotificationLogging.dumpASDCNotification(iNotificationData1); + assertFalse(string1.equals((Object)string0)); + } + + @Test(timeout = 4000) + public void test01() throws Throwable { + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + LinkedList linkedList0 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + linkedList0.add(iVfModuleMetadata0); + LinkedList linkedList1 = new LinkedList(); + Object object0 = new Object(); + linkedList1.push(object0); + linkedList0.spliterator(); + linkedList0.removeAll(linkedList1); + linkedList0.clear(); + LinkedList linkedList2 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata1 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + doReturn((List) null, (List) null, linkedList2, (List) null).when(iVfModuleMetadata1).getArtifacts(); + doReturn("e.tf%6&", "e.tf%6&", "").when(iVfModuleMetadata1).getVfModuleModelDescription(); + doReturn("", "", "").when(iVfModuleMetadata1).getVfModuleModelInvariantUUID(); + doReturn("", "", "e.tf%6&").when(iVfModuleMetadata1).getVfModuleModelName(); + doReturn("VfModuleMetaData:", "e.tf%6&", "BaseArtifactInfoImpl [artifactName=").when(iVfModuleMetadata1).getVfModuleModelUUID(); + doReturn("e.tf%6&", "e.tf%6&", "e.tf%6&").when(iVfModuleMetadata1).getVfModuleModelVersion(); + doReturn(false, false).when(iVfModuleMetadata1).isBase(); + linkedList0.add(iVfModuleMetadata1); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + // Undeclared exception! + try { + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.util.ASDCNotificationLogging", e); + } + } + + @Test(timeout = 4000) + public void test02() throws Throwable { + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + ASDCNotificationLogging aSDCNotificationLogging1 = new ASDCNotificationLogging(); + LinkedList linkedList0 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + doReturn((List) null, (List) null).when(iVfModuleMetadata0).getArtifacts(); + doReturn("TTq", (String) null).when(iVfModuleMetadata0).getVfModuleModelDescription(); + doReturn("", (String) null).when(iVfModuleMetadata0).getVfModuleModelInvariantUUID(); + doReturn("w1e~\"rjNBjuq*0HB!3&", (String) null).when(iVfModuleMetadata0).getVfModuleModelName(); + doReturn("+l", (String) null).when(iVfModuleMetadata0).getVfModuleModelUUID(); + doReturn("]", (String) null).when(iVfModuleMetadata0).getVfModuleModelVersion(); + doReturn(true, false).when(iVfModuleMetadata0).isBase(); + linkedList0.add(iVfModuleMetadata0); + IVfModuleMetadata iVfModuleMetadata1 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + linkedList0.removeFirstOccurrence(aSDCNotificationLogging1); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + String string0 = ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + assertEquals("{\nVfModuleMetaData:\nVfModuleModelName:NULL\nVfModuleModelVersion:NULL\nVfModuleModelUUID:NULL\nVfModuleModelInvariantUUID:NULL\nVfModuleModelDescription:NULL\nArtifacts UUID List:NULL\nisBase:false\n\n\n}\n", string0); + } + + @Test(timeout = 4000) + public void test03() throws Throwable { + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + List list0 = (List) mock(List.class, new ViolatedAssumptionAnswer()); + List list1 = (List) mock(List.class, new ViolatedAssumptionAnswer()); + doReturn(false).when(list1).isEmpty(); + doReturn((Iterator) null).when(list1).iterator(); + doReturn(0).when(list1).size(); + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData0).getDistributionID(); + doReturn(list1).when(iNotificationData0).getServiceArtifacts(); + doReturn("9").when(iNotificationData0).getServiceDescription(); + doReturn("9").when(iNotificationData0).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData0).getServiceName(); + doReturn("Type not recognized").when(iNotificationData0).getServiceUUID(); + doReturn("").when(iNotificationData0).getServiceVersion(); + // Undeclared exception! + try { + ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.util.ASDCNotificationLogging", e); + } + } + + @Test(timeout = 4000) + public void test04() throws Throwable { + LinkedList linkedList0 = new LinkedList(); + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("(ICU8j3G)Z4Z[GAE").when(iNotificationData0).getDistributionID(); + doReturn(linkedList0, linkedList0).when(iNotificationData0).getResources(); + doReturn((List) null).when(iNotificationData0).getServiceArtifacts(); + doReturn(")&42fB6dZT&HRAb1a").when(iNotificationData0).getServiceDescription(); + doReturn("(ICU8j3G)Z4Z[GAE").when(iNotificationData0).getServiceInvariantUUID(); + doReturn(")&42fB6dZT&HRAb1a").when(iNotificationData0).getServiceName(); + doReturn(")&42fB6dZT&HRAb1a").when(iNotificationData0).getServiceUUID(); + doReturn("cHH N9Ha9YUPSpX00i").when(iNotificationData0).getServiceVersion(); + String string0 = ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + assertEquals("ASDC Notification:\nDistributionID:(ICU8j3G)Z4Z[GAE\nServiceName:)&42fB6dZT&HRAb1a\nServiceVersion:cHH N9Ha9YUPSpX00i\nServiceUUID:)&42fB6dZT&HRAb1a\nServiceInvariantUUID:(ICU8j3G)Z4Z[GAE\nServiceDescription:)&42fB6dZT&HRAb1a\nService Artifacts List:\nNULL\nResource Instances List:\n\n}\n\n", string0); + } + + @Test(timeout = 4000) + public void test05() throws Throwable { + LinkedList linkedList0 = new LinkedList(); + assertEquals(0, linkedList0.size()); + + LinkedList linkedList1 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + doReturn(linkedList1, linkedList1).when(iVfModuleMetadata0).getArtifacts(); + doReturn(", artifactTimeout=").when(iVfModuleMetadata0).getVfModuleModelDescription(); + doReturn(", artifactChecksum=").when(iVfModuleMetadata0).getVfModuleModelInvariantUUID(); + doReturn(", artifactTimeout=").when(iVfModuleMetadata0).getVfModuleModelName(); + doReturn(", artifactTimeout=").when(iVfModuleMetadata0).getVfModuleModelUUID(); + doReturn(", artifactTimeout=").when(iVfModuleMetadata0).getVfModuleModelVersion(); + doReturn(false).when(iVfModuleMetadata0).isBase(); + IVfModuleMetadata iVfModuleMetadata1 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + linkedList0.add(iVfModuleMetadata1); + linkedList1.push("dzjz-zmMzFE"); + linkedList0.listIterator(); + linkedList0.toArray(); + linkedList0.add(iVfModuleMetadata0); + linkedList0.pollFirst(); + String string0 = ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + assertEquals("{\nVfModuleMetaData:\nVfModuleModelName:, artifactTimeout=\nVfModuleModelVersion:, artifactTimeout=\nVfModuleModelUUID:, artifactTimeout=\nVfModuleModelInvariantUUID:, artifactChecksum=\nVfModuleModelDescription:, artifactTimeout=\nArtifacts UUID List:{\ndzjz-zmMzFE\n\n}\n\nisBase:false\n\n\n}\n", string0); + + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + LinkedList linkedList2 = new LinkedList(); + LinkedList linkedList3 = new LinkedList((Collection) linkedList2); + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData0).getDistributionID(); + doReturn((List) null).when(iNotificationData0).getResources(); + doReturn((List) null).when(iNotificationData0).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData0).getServiceDescription(); + doReturn((String) null).when(iNotificationData0).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData0).getServiceName(); + doReturn((String) null).when(iNotificationData0).getServiceUUID(); + doReturn((String) null).when(iNotificationData0).getServiceVersion(); + String string1 = ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + assertEquals("ASDC Notification:\nDistributionID:NULL\nServiceName:NULL\nServiceVersion:NULL\nServiceUUID:NULL\nServiceInvariantUUID:NULL\nServiceDescription:NULL\nService Artifacts List:\nNULL\nResource Instances List:\nNULL\n", string1); + } + + @Test(timeout = 4000) + public void test06() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData0).getDistributionID(); + doReturn((List) null).when(iNotificationData0).getResources(); + doReturn((List) null).when(iNotificationData0).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData0).getServiceDescription(); + doReturn((String) null).when(iNotificationData0).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData0).getServiceName(); + doReturn((String) null).when(iNotificationData0).getServiceUUID(); + doReturn((String) null).when(iNotificationData0).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + LinkedList linkedList0 = new LinkedList(); + List list0 = linkedList0.subList(0, 0); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + linkedList0.removeAll(list0); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + Comparator comparator0 = (Comparator) mock(Comparator.class, new ViolatedAssumptionAnswer()); + linkedList0.sort(comparator0); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + linkedList0.offerLast(iVfModuleMetadata0); + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + INotificationData iNotificationData1 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData1).getDistributionID(); + doReturn((List) null).when(iNotificationData1).getResources(); + doReturn((List) null).when(iNotificationData1).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData1).getServiceDescription(); + doReturn((String) null).when(iNotificationData1).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData1).getServiceName(); + doReturn((String) null).when(iNotificationData1).getServiceUUID(); + doReturn((String) null).when(iNotificationData1).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData1); + // Undeclared exception! + try { + ASDCNotificationLogging.dumpVfModuleMetaDataList(list0); + fail("Expecting exception: ConcurrentModificationException"); + + } catch(ConcurrentModificationException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("java.util.SubList", e); + } + } + + @Test(timeout = 4000) + public void test07() throws Throwable { + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + ASDCNotificationLogging aSDCNotificationLogging1 = new ASDCNotificationLogging(); + LinkedList linkedList0 = new LinkedList(); + LinkedList linkedList1 = new LinkedList(); + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("ResourceInstanceName:").when(iNotificationData0).getDistributionID(); + doReturn(linkedList0, linkedList0).when(iNotificationData0).getResources(); + doReturn(linkedList1).when(iNotificationData0).getServiceArtifacts(); + doReturn("ResourceInstanceName:").when(iNotificationData0).getServiceDescription(); + doReturn((String) null).when(iNotificationData0).getServiceInvariantUUID(); + doReturn("ResourceInstanceName:").when(iNotificationData0).getServiceName(); + doReturn("pr26M0Ud8~n6#j/;g").when(iNotificationData0).getServiceUUID(); + doReturn((String) null).when(iNotificationData0).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + ASDCNotificationLogging aSDCNotificationLogging2 = new ASDCNotificationLogging(); + INotificationData iNotificationData1 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("ResourceInstanceName:").when(iNotificationData1).getDistributionID(); + doReturn(linkedList0, linkedList0).when(iNotificationData1).getResources(); + doReturn(linkedList1).when(iNotificationData1).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData1).getServiceDescription(); + doReturn("").when(iNotificationData1).getServiceInvariantUUID(); + doReturn("pr26M0Ud8~n6#j/;g").when(iNotificationData1).getServiceName(); + doReturn("").when(iNotificationData1).getServiceUUID(); + doReturn("Resource Artifacts List:").when(iNotificationData1).getServiceVersion(); + String string0 = ASDCNotificationLogging.dumpASDCNotification(iNotificationData1); + assertEquals("ASDC Notification:\nDistributionID:ResourceInstanceName:\nServiceName:pr26M0Ud8~n6#j/;g\nServiceVersion:Resource Artifacts List:\nServiceUUID:\nServiceInvariantUUID:\nServiceDescription:NULL\nService Artifacts List:\nNULL\nResource Instances List:\n\n}\n\n", string0); + + ASDCNotificationLogging aSDCNotificationLogging3 = new ASDCNotificationLogging(); + LinkedList linkedList2 = new LinkedList(); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList2); + LinkedList linkedList3 = new LinkedList(); + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn((String) null, (String) null, (String) null).when(iArtifactInfo0).getArtifactChecksum(); + doReturn((String) null, (String) null, (String) null).when(iArtifactInfo0).getArtifactDescription(); + doReturn((String) null, (String) null, (String) null).when(iArtifactInfo0).getArtifactName(); + doReturn((Integer) null, (Integer) null, (Integer) null).when(iArtifactInfo0).getArtifactTimeout(); + doReturn((String) null, (String) null, (String) null).when(iArtifactInfo0).getArtifactType(); + doReturn((String) null, (String) null, (String) null).when(iArtifactInfo0).getArtifactURL(); + doReturn((String) null, (String) null, (String) null).when(iArtifactInfo0).getArtifactUUID(); + doReturn((String) null, (String) null, (String) null).when(iArtifactInfo0).getArtifactVersion(); + doReturn((IArtifactInfo) null, (IArtifactInfo) null, (IArtifactInfo) null).when(iArtifactInfo0).getGeneratedArtifact(); + doReturn((List) null, (List) null, (List) null).when(iArtifactInfo0).getRelatedArtifacts(); + linkedList1.add(iArtifactInfo0); + INotificationData iNotificationData2 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("tlh7ku").when(iNotificationData2).getDistributionID(); + doReturn(linkedList3, linkedList0).when(iNotificationData2).getResources(); + doReturn(linkedList1).when(iNotificationData2).getServiceArtifacts(); + doReturn("").when(iNotificationData2).getServiceDescription(); + doReturn("").when(iNotificationData2).getServiceInvariantUUID(); + doReturn("tlh7ku").when(iNotificationData2).getServiceName(); + doReturn("_B4BTx//Er%IWM}et0").when(iNotificationData2).getServiceUUID(); + doReturn("").when(iNotificationData2).getServiceVersion(); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + doReturn(linkedList1).when(iResourceInstance0).getArtifacts(); + doReturn("").when(iResourceInstance0).getResourceInstanceName(); + doReturn("Resource Artifacts List:").when(iResourceInstance0).getResourceInvariantUUID(); + doReturn("Hq^8Xl<>T").when(iResourceInstance0).getResourceName(); + doReturn((String) null).when(iResourceInstance0).getResourceType(); + doReturn("ASDC Notification:\nDistributionID:ResourceInstanceName:\nServiceName:ResourceInstanceName:\nServiceVersion:NULL\nServiceUUID:pr26M0Ud8~n6#j/;g\nServiceInvariantUUID:NULL\nServiceDescription:ResourceInstanceName:\nService Artifacts List:\nNULL\nResource Instances List:\n\n}\n\n").when(iResourceInstance0).getResourceUUID(); + doReturn("zIQ?4(U$K ").when(iResourceInstance0).getResourceVersion(); + linkedList0.add(iResourceInstance0); + IResourceInstance iResourceInstance1 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + doReturn(linkedList1).when(iResourceInstance1).getArtifacts(); + doReturn("ASDC Notification:\nDistributionID:ResourceInstanceName:\nServiceName:pr26M0Ud8~n6#j/;g\nServiceVersion:Resource Artifacts List:\nServiceUUID:\nServiceInvariantUUID:\nServiceDescription:NULL\nService Artifacts List:\nNULL\nResource Instances List:\n\n}\n\n").when(iResourceInstance1).getResourceInstanceName(); + doReturn("5yNU;|<:T-ixwLB").when(iResourceInstance1).getResourceInvariantUUID(); + doReturn("").when(iResourceInstance1).getResourceName(); + doReturn("xguM[yK-\"").when(iResourceInstance1).getResourceType(); + doReturn("").when(iResourceInstance1).getResourceUUID(); + doReturn("ASDC Notification:\nDistributionID:ResourceInstanceName:\nServiceName:pr26M0Ud8~n6#j/;g\nServiceVersion:Resource Artifacts List:\nServiceUUID:\nServiceInvariantUUID:\nServiceDescription:NULL\nService Artifacts List:\nNULL\nResource Instances List:\n\n}\n\n").when(iResourceInstance1).getResourceVersion(); + linkedList1.removeFirstOccurrence((Object) null); + linkedList0.add(iResourceInstance1); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData2); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + String string1 = ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList2); + assertEquals("\n}\n", string1); + } + + @Test(timeout = 4000) + public void test08() throws Throwable { + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData0).getDistributionID(); + doReturn((List) null).when(iNotificationData0).getResources(); + doReturn((List) null).when(iNotificationData0).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData0).getServiceDescription(); + doReturn((String) null).when(iNotificationData0).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData0).getServiceName(); + doReturn((String) null).when(iNotificationData0).getServiceUUID(); + doReturn((String) null).when(iNotificationData0).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + INotificationData iNotificationData1 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData1).getDistributionID(); + doReturn((List) null).when(iNotificationData1).getResources(); + doReturn((List) null).when(iNotificationData1).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData1).getServiceDescription(); + doReturn((String) null).when(iNotificationData1).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData1).getServiceName(); + doReturn((String) null).when(iNotificationData1).getServiceUUID(); + doReturn((String) null).when(iNotificationData1).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData1); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + INotificationData iNotificationData2 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData2).getDistributionID(); + doReturn((List) null).when(iNotificationData2).getResources(); + doReturn((List) null).when(iNotificationData2).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData2).getServiceDescription(); + doReturn((String) null).when(iNotificationData2).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData2).getServiceName(); + doReturn((String) null).when(iNotificationData2).getServiceUUID(); + doReturn((String) null).when(iNotificationData2).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData2); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + INotificationData iNotificationData3 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData3).getDistributionID(); + doReturn((List) null).when(iNotificationData3).getResources(); + doReturn((List) null).when(iNotificationData3).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData3).getServiceDescription(); + doReturn((String) null).when(iNotificationData3).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData3).getServiceName(); + doReturn((String) null).when(iNotificationData3).getServiceUUID(); + doReturn((String) null).when(iNotificationData3).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData3); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + INotificationData iNotificationData4 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData4).getDistributionID(); + doReturn((List) null).when(iNotificationData4).getResources(); + doReturn((List) null).when(iNotificationData4).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData4).getServiceDescription(); + doReturn((String) null).when(iNotificationData4).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData4).getServiceName(); + doReturn((String) null).when(iNotificationData4).getServiceUUID(); + doReturn((String) null).when(iNotificationData4).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData4); + INotificationData iNotificationData5 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData5).getDistributionID(); + doReturn((List) null).when(iNotificationData5).getResources(); + doReturn((List) null).when(iNotificationData5).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData5).getServiceDescription(); + doReturn((String) null).when(iNotificationData5).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData5).getServiceName(); + doReturn((String) null).when(iNotificationData5).getServiceUUID(); + doReturn((String) null).when(iNotificationData5).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData5); + INotificationData iNotificationData6 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData6).getDistributionID(); + doReturn((List) null).when(iNotificationData6).getResources(); + doReturn((List) null).when(iNotificationData6).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData6).getServiceDescription(); + doReturn((String) null).when(iNotificationData6).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData6).getServiceName(); + doReturn((String) null).when(iNotificationData6).getServiceUUID(); + doReturn((String) null).when(iNotificationData6).getServiceVersion(); + String string0 = ASDCNotificationLogging.dumpASDCNotification(iNotificationData6); + assertEquals("ASDC Notification:\nDistributionID:NULL\nServiceName:NULL\nServiceVersion:NULL\nServiceUUID:NULL\nServiceInvariantUUID:NULL\nServiceDescription:NULL\nService Artifacts List:\nNULL\nResource Instances List:\nNULL\n", string0); + + ASDCNotificationLogging.dumpASDCNotification((INotificationData) null); + String string1 = ASDCNotificationLogging.dumpASDCNotification((INotificationData) null); + assertEquals("NULL", string1); + } + + @Test(timeout = 4000) + public void test09() throws Throwable { + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + LinkedList linkedList0 = new LinkedList(); + IArtifactInfo iArtifactInfo0 = mock(IArtifactInfo.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iArtifactInfo0).getArtifactChecksum(); + doReturn((String) null).when(iArtifactInfo0).getArtifactDescription(); + doReturn((String) null).when(iArtifactInfo0).getArtifactName(); + doReturn((Integer) null).when(iArtifactInfo0).getArtifactTimeout(); + doReturn((String) null).when(iArtifactInfo0).getArtifactType(); + doReturn((String) null).when(iArtifactInfo0).getArtifactURL(); + doReturn((String) null).when(iArtifactInfo0).getArtifactUUID(); + doReturn((String) null).when(iArtifactInfo0).getArtifactVersion(); + doReturn((IArtifactInfo) null).when(iArtifactInfo0).getGeneratedArtifact(); + doReturn((List) null).when(iArtifactInfo0).getRelatedArtifacts(); + linkedList0.add(iArtifactInfo0); + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData0).getDistributionID(); + doReturn((List) null).when(iNotificationData0).getResources(); + doReturn(linkedList0).when(iNotificationData0).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData0).getServiceDescription(); + doReturn((String) null).when(iNotificationData0).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData0).getServiceName(); + doReturn((String) null).when(iNotificationData0).getServiceUUID(); + doReturn("(").when(iNotificationData0).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + String string0 = ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + assertNull(string0); + } + + @Test(timeout = 4000) + public void test10() throws Throwable { + LinkedList linkedList0 = new LinkedList(); + LinkedList linkedList1 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + linkedList1.add(iVfModuleMetadata0); + LinkedList linkedList2 = new LinkedList(); + LinkedList linkedList3 = new LinkedList(); + linkedList1.removeFirst(); + linkedList0.addAll((Collection) linkedList1); + LinkedList linkedList4 = new LinkedList(); + LinkedList linkedList5 = new LinkedList(); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + LinkedList linkedList6 = new LinkedList(); + LinkedList linkedList7 = new LinkedList(); + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("]=ztki(=]").when(iNotificationData0).getDistributionID(); + doReturn(linkedList6, linkedList6).when(iNotificationData0).getResources(); + doReturn(linkedList7).when(iNotificationData0).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData0).getServiceDescription(); + doReturn("").when(iNotificationData0).getServiceInvariantUUID(); + doReturn("").when(iNotificationData0).getServiceName(); + doReturn("VG).").when(iNotificationData0).getServiceUUID(); + doReturn("").when(iNotificationData0).getServiceVersion(); + linkedList0.spliterator(); + linkedList0.containsAll(linkedList1); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + LinkedList linkedList8 = new LinkedList(); + INotificationData iNotificationData1 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("C'K").when(iNotificationData1).getDistributionID(); + doReturn(linkedList6, linkedList8).when(iNotificationData1).getResources(); + doReturn(linkedList7).when(iNotificationData1).getServiceArtifacts(); + doReturn("NotificationDataImpl [distributionID=").when(iNotificationData1).getServiceDescription(); + doReturn((String) null).when(iNotificationData1).getServiceInvariantUUID(); + doReturn("B.").when(iNotificationData1).getServiceName(); + doReturn("").when(iNotificationData1).getServiceUUID(); + doReturn("").when(iNotificationData1).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData1); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + } + + @Test(timeout = 4000) + public void test11() throws Throwable { + LinkedList linkedList0 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + linkedList0.add(iVfModuleMetadata0); + linkedList0.add((IVfModuleMetadata) null); + LinkedList linkedList1 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata1 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + doReturn(linkedList1, linkedList1, linkedList1, linkedList1).when(iVfModuleMetadata1).getArtifacts(); + doReturn("8u1XbrrMy{J2", "").when(iVfModuleMetadata1).getVfModuleModelDescription(); + doReturn("YR/UZ7qrmvO", "8u1XbrrMy{J2").when(iVfModuleMetadata1).getVfModuleModelInvariantUUID(); + doReturn("8u1XbrrMy{J2", ".l=(8f`8f}.9>yn").when(iVfModuleMetadata1).getVfModuleModelName(); + doReturn("", "YR/UZ7qrmvO").when(iVfModuleMetadata1).getVfModuleModelUUID(); + doReturn("[66/OPYLD.B%", ".l=(8f`8f}.9>yn").when(iVfModuleMetadata1).getVfModuleModelVersion(); + doReturn(false, true).when(iVfModuleMetadata1).isBase(); + LinkedList linkedList2 = new LinkedList(); + linkedList2.add((IVfModuleMetadata) null); + linkedList2.offer((IVfModuleMetadata) null); + Predicate predicate0 = (Predicate) mock(Predicate.class, new ViolatedAssumptionAnswer()); + doReturn(true, false).when(predicate0).test(any()); + linkedList2.removeIf(predicate0); + linkedList0.retainAll(linkedList2); + LinkedList linkedList3 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata2 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + doReturn(linkedList3, linkedList3, linkedList3, linkedList1).when(iVfModuleMetadata2).getArtifacts(); + doReturn("YR/UZ7qrmvO", "8u1XbrrMy{J2").when(iVfModuleMetadata2).getVfModuleModelDescription(); + doReturn("", "8u1XbrrMy{J2").when(iVfModuleMetadata2).getVfModuleModelInvariantUUID(); + doReturn("[66/OPYLD.B%", "").when(iVfModuleMetadata2).getVfModuleModelName(); + doReturn("", "[66/OPYLD.B%").when(iVfModuleMetadata2).getVfModuleModelUUID(); + doReturn((String) null, "").when(iVfModuleMetadata2).getVfModuleModelVersion(); + doReturn(true, false).when(iVfModuleMetadata2).isBase(); + linkedList0.add(iVfModuleMetadata2); + linkedList0.push(iVfModuleMetadata1); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + ASDCNotificationLogging aSDCNotificationLogging1 = new ASDCNotificationLogging(); + ASDCNotificationLogging aSDCNotificationLogging2 = new ASDCNotificationLogging(); + ASDCNotificationLogging aSDCNotificationLogging3 = new ASDCNotificationLogging(); + String string0 = ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + assertEquals("{\nVfModuleMetaData:\nVfModuleModelName:.l=(8f`8f}.9>yn\nVfModuleModelVersion:.l=(8f`8f}.9>yn\nVfModuleModelUUID:YR/UZ7qrmvO\nVfModuleModelInvariantUUID:8u1XbrrMy{J2\nVfModuleModelDescription:\nArtifacts UUID List:\n}\n\nisBase:true\n\n,\nNULL\n,\nVfModuleMetaData:\nVfModuleModelName:\nVfModuleModelVersion:\nVfModuleModelUUID:[66/OPYLD.B%\nVfModuleModelInvariantUUID:8u1XbrrMy{J2\nVfModuleModelDescription:8u1XbrrMy{J2\nArtifacts UUID List:\n}\n\nisBase:false\n\n\n}\n", string0); + + LinkedList linkedList4 = new LinkedList(); + LinkedList linkedList5 = new LinkedList((Collection) linkedList4); + LinkedList linkedList6 = new LinkedList(); + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("95y$c-.BW5V()41WR").when(iNotificationData0).getDistributionID(); + doReturn(linkedList5, linkedList4).when(iNotificationData0).getResources(); + doReturn(linkedList6).when(iNotificationData0).getServiceArtifacts(); + doReturn(", artifactTimeout=").when(iNotificationData0).getServiceDescription(); + doReturn("[66/OPYLD.B%").when(iNotificationData0).getServiceInvariantUUID(); + doReturn("[66/OPYLD.B%").when(iNotificationData0).getServiceName(); + doReturn(", artifactChecksum=").when(iNotificationData0).getServiceUUID(); + doReturn("W1vX^KnIx[x").when(iNotificationData0).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + ASDCNotificationLogging aSDCNotificationLogging4 = new ASDCNotificationLogging(); + ASDCNotificationLogging aSDCNotificationLogging5 = new ASDCNotificationLogging(); + LinkedList linkedList7 = new LinkedList(); + INotificationData iNotificationData1 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("").when(iNotificationData1).getDistributionID(); + doReturn(linkedList4, linkedList7).when(iNotificationData1).getResources(); + doReturn(linkedList6).when(iNotificationData1).getServiceArtifacts(); + doReturn("3l\"ZrTP`IQ-4x]").when(iNotificationData1).getServiceDescription(); + doReturn("").when(iNotificationData1).getServiceInvariantUUID(); + doReturn("").when(iNotificationData1).getServiceName(); + doReturn("").when(iNotificationData1).getServiceUUID(); + doReturn("").when(iNotificationData1).getServiceVersion(); + String string1 = ASDCNotificationLogging.dumpASDCNotification(iNotificationData1); + assertEquals("ASDC Notification:\nDistributionID:\nServiceName:\nServiceVersion:\nServiceUUID:\nServiceInvariantUUID:\nServiceDescription:3l\"ZrTP`IQ-4x]\nService Artifacts List:\nNULL\nResource Instances List:\n\n}\n\n", string1); + } + + @Test(timeout = 4000) + public void test12() throws Throwable { + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData0).getDistributionID(); + doReturn((List) null).when(iNotificationData0).getResources(); + doReturn((List) null).when(iNotificationData0).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData0).getServiceDescription(); + doReturn((String) null).when(iNotificationData0).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData0).getServiceName(); + doReturn((String) null).when(iNotificationData0).getServiceUUID(); + doReturn((String) null).when(iNotificationData0).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + INotificationData iNotificationData1 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData1).getDistributionID(); + doReturn((List) null).when(iNotificationData1).getResources(); + doReturn((List) null).when(iNotificationData1).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData1).getServiceDescription(); + doReturn((String) null).when(iNotificationData1).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData1).getServiceName(); + doReturn((String) null).when(iNotificationData1).getServiceUUID(); + doReturn((String) null).when(iNotificationData1).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData1); + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + INotificationData iNotificationData2 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData2).getDistributionID(); + doReturn((List) null).when(iNotificationData2).getResources(); + doReturn((List) null).when(iNotificationData2).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData2).getServiceDescription(); + doReturn((String) null).when(iNotificationData2).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData2).getServiceName(); + doReturn((String) null).when(iNotificationData2).getServiceUUID(); + doReturn((String) null).when(iNotificationData2).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData2); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + ASDCNotificationLogging aSDCNotificationLogging1 = new ASDCNotificationLogging(); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + INotificationData iNotificationData3 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData3).getDistributionID(); + doReturn((List) null).when(iNotificationData3).getResources(); + doReturn((List) null).when(iNotificationData3).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData3).getServiceDescription(); + doReturn((String) null).when(iNotificationData3).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData3).getServiceName(); + doReturn((String) null).when(iNotificationData3).getServiceUUID(); + doReturn((String) null).when(iNotificationData3).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData3); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + ASDCNotificationLogging aSDCNotificationLogging2 = new ASDCNotificationLogging(); + LinkedList linkedList0 = new LinkedList(); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + doReturn((List) null, (List) null, (List) null).when(iVfModuleMetadata0).getArtifacts(); + doReturn((String) null, (String) null, (String) null).when(iVfModuleMetadata0).getVfModuleModelDescription(); + doReturn((String) null, (String) null, (String) null).when(iVfModuleMetadata0).getVfModuleModelInvariantUUID(); + doReturn((String) null, (String) null, (String) null).when(iVfModuleMetadata0).getVfModuleModelName(); + doReturn((String) null, (String) null, (String) null).when(iVfModuleMetadata0).getVfModuleModelUUID(); + doReturn((String) null, (String) null, (String) null).when(iVfModuleMetadata0).getVfModuleModelVersion(); + doReturn(false, false, false).when(iVfModuleMetadata0).isBase(); + linkedList0.add(iVfModuleMetadata0); + linkedList0.removeLastOccurrence("ASDC Notification:\nDistributionID:NULL\nServiceName:NULL\nServiceVersion:NULL\nServiceUUID:NULL\nServiceInvariantUUID:NULL\nServiceDescription:NULL\nService Artifacts List:\nNULL\nResource Instances List:\n\n}\n\n"); + linkedList0.remove((Object) null); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + ASDCNotificationLogging aSDCNotificationLogging3 = new ASDCNotificationLogging(); + String string0 = ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + String string1 = ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + assertEquals("{\nVfModuleMetaData:\nVfModuleModelName:NULL\nVfModuleModelVersion:NULL\nVfModuleModelUUID:NULL\nVfModuleModelInvariantUUID:NULL\nVfModuleModelDescription:NULL\nArtifacts UUID List:NULL\nisBase:false\n\n\n}\n", string1); + assertTrue(string1.equals((Object)string0)); + + ASDCNotificationLogging aSDCNotificationLogging4 = new ASDCNotificationLogging(); + ASDCNotificationLogging.dumpVfModuleMetaDataList((List) null); + INotificationData iNotificationData4 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn((String) null).when(iNotificationData4).getDistributionID(); + doReturn((List) null).when(iNotificationData4).getResources(); + doReturn((List) null).when(iNotificationData4).getServiceArtifacts(); + doReturn((String) null).when(iNotificationData4).getServiceDescription(); + doReturn((String) null).when(iNotificationData4).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData4).getServiceName(); + doReturn((String) null).when(iNotificationData4).getServiceUUID(); + doReturn((String) null).when(iNotificationData4).getServiceVersion(); + String string2 = ASDCNotificationLogging.dumpASDCNotification(iNotificationData4); + assertEquals("ASDC Notification:\nDistributionID:NULL\nServiceName:NULL\nServiceVersion:NULL\nServiceUUID:NULL\nServiceInvariantUUID:NULL\nServiceDescription:NULL\nService Artifacts List:\nNULL\nResource Instances List:\nNULL\n", string2); + } + + @Test(timeout = 4000) + public void test13() throws Throwable { + ASDCNotificationLogging aSDCNotificationLogging0 = new ASDCNotificationLogging(); + LinkedList linkedList0 = new LinkedList(); + IResourceInstance iResourceInstance0 = mock(IResourceInstance.class, new ViolatedAssumptionAnswer()); + doReturn((List) null).when(iResourceInstance0).getArtifacts(); + doReturn((String) null).when(iResourceInstance0).getResourceInstanceName(); + doReturn((String) null).when(iResourceInstance0).getResourceInvariantUUID(); + doReturn((String) null).when(iResourceInstance0).getResourceName(); + doReturn((String) null).when(iResourceInstance0).getResourceType(); + doReturn((String) null).when(iResourceInstance0).getResourceUUID(); + doReturn((String) null).when(iResourceInstance0).getResourceVersion(); + linkedList0.add(iResourceInstance0); + LinkedList linkedList1 = new LinkedList(); + INotificationData iNotificationData0 = mock(INotificationData.class, new ViolatedAssumptionAnswer()); + doReturn("(n,0").when(iNotificationData0).getDistributionID(); + doReturn(linkedList0, linkedList0).when(iNotificationData0).getResources(); + doReturn(linkedList1).when(iNotificationData0).getServiceArtifacts(); + doReturn("(n,0").when(iNotificationData0).getServiceDescription(); + doReturn((String) null).when(iNotificationData0).getServiceInvariantUUID(); + doReturn((String) null).when(iNotificationData0).getServiceName(); + doReturn("").when(iNotificationData0).getServiceUUID(); + doReturn("t1N;ZSJsATt:&Ug").when(iNotificationData0).getServiceVersion(); + ASDCNotificationLogging.dumpASDCNotification(iNotificationData0); + LinkedList linkedList2 = new LinkedList(); + linkedList2.clear(); + // Undeclared exception! + try { + linkedList2.remove(); + fail("Expecting exception: NoSuchElementException"); + + } catch(NoSuchElementException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("java.util.LinkedList", e); + } + } + + @Test(timeout = 4000) + public void test14() throws Throwable { + LinkedList linkedList0 = new LinkedList(); + ASDCNotificationLogging.dumpVfModuleMetaDataList(linkedList0); + IVfModuleMetadata iVfModuleMetadata0 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + linkedList0.add(iVfModuleMetadata0); + linkedList0.remove((Object) "\n}\n"); + IVfModuleMetadata iVfModuleMetadata1 = mock(IVfModuleMetadata.class, new ViolatedAssumptionAnswer()); + linkedList0.offerLast(iVfModuleMetadata1); + // Undeclared exception! + try { + linkedList0.subList((-1), (-1)); + fail("Expecting exception: IndexOutOfBoundsException"); + + } catch(IndexOutOfBoundsException e) { + // + // fromIndex = -1 + // + verifyException("java.util.SubList", e); + } + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/util/ASDCNotificationLoggingESTestscaffolding.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/util/ASDCNotificationLoggingESTestscaffolding.java new file mode 100644 index 0000000..1344bbe --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/util/ASDCNotificationLoggingESTestscaffolding.java @@ -0,0 +1,81 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Fri Nov 25 13:31:27 GMT 2016 + */ + +package org.openecomp.mso.asdc.util; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class ASDCNotificationLoggingESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.asdc.util.ASDCNotificationLogging"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(ASDCNotificationLoggingESTestscaffolding.class.getClassLoader() , + "org.openecomp.sdc.api.notification.INotificationData", + "org.openecomp.sdc.api.notification.IResourceInstance", + "org.openecomp.sdc.api.notification.IVfModuleMetadata", + "org.openecomp.mso.asdc.util.ASDCNotificationLogging", + "org.openecomp.sdc.api.notification.IArtifactInfo" + ); + } + + private static void resetClasses() { + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/util/YamlEditorESTest.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/util/YamlEditorESTest.java new file mode 100644 index 0000000..c050a9c --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/util/YamlEditorESTest.java @@ -0,0 +1,420 @@ +/* + * This file was automatically generated by EvoSuite + * Fri Nov 25 13:17:51 GMT 2016 + */ + +package org.openecomp.mso.asdc.util; + +import org.junit.Test; +import static org.junit.Assert.*; +import static org.evosuite.shaded.org.mockito.Mockito.*; +import static org.evosuite.runtime.MockitoExtension.*; +import static org.evosuite.runtime.EvoAssertions.*; + +import org.openecomp.mso.db.catalog.beans.HeatTemplateParam; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.evosuite.runtime.EvoRunner; +import org.evosuite.runtime.EvoRunnerParameters; +import org.evosuite.runtime.PrivateAccess; +import org.evosuite.runtime.ViolatedAssumptionAnswer; +import org.junit.runner.RunWith; +import org.yaml.snakeyaml.Yaml; + +@RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, useJEE = true) +public class YamlEditorESTest extends YamlEditorESTestscaffolding { + + @Test(timeout = 4000) + public void test00() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + boolean boolean0 = yamlEditor0.isParentTemplate("file:///"); + assertTrue(boolean0); + } + + @Test(timeout = 4000) + public void test01() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + HashMap hashMap0 = new HashMap(); + Yaml yaml0 = mock(Yaml.class, new ViolatedAssumptionAnswer()); + doReturn((String) null, (String) null).when(yaml0).dump(any()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yaml", (Object) yaml0); + yamlEditor0.encode((Map) hashMap0); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn((Object) null).when(map0).get(any()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yml", (Object) map0); + yamlEditor0.toString(); + // Undeclared exception! + try { + yamlEditor0.getYamlResourceTypeList(); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test02() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + HashMap hashMap0 = new HashMap(); + Yaml yaml0 = mock(Yaml.class, new ViolatedAssumptionAnswer()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yaml", (Object) yaml0); + Object object0 = new Object(); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn(hashMap0, object0).when(map0).get(any()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yml", (Object) map0); + yamlEditor0.getParameterList(); + // Undeclared exception! + try { + yamlEditor0.getYamlResourceTypeList(); + fail("Expecting exception: ClassCastException"); + + } catch(ClassCastException e) { + // + // java.lang.Object cannot be cast to java.util.Map + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test03() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + // Undeclared exception! + try { + yamlEditor0.getYamlNestedFileResourceTypeList(); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test04() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + HashMap hashMap0 = new HashMap(); + Yaml yaml0 = mock(Yaml.class, new ViolatedAssumptionAnswer()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yaml", (Object) yaml0); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn(hashMap0, (Object) null).when(map0).get(any()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yml", (Object) map0); + yamlEditor0.getYamlNestedFileResourceTypeList(); + // Undeclared exception! + try { + yamlEditor0.getParameterList(); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test05() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + HashMap hashMap0 = new HashMap(); + Set> set0 = (Set>)hashMap0.entrySet(); + hashMap0.put("null\n", set0); + // Undeclared exception! + try { + yamlEditor0.encode((Map) hashMap0); + fail("Expecting exception: StackOverflowError"); + + } catch(StackOverflowError e) { + // + // no message in exception (getMessage() returned null) + // + } + } + + @Test(timeout = 4000) + public void test06() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + Set> set0 = (Set>) mock(Set.class, new ViolatedAssumptionAnswer()); + doReturn((Iterator) null).when(set0).iterator(); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn(set0).when(map0).entrySet(); + doReturn(2655).when(map0).size(); + // Undeclared exception! + try { + yamlEditor0.encode(map0); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.yaml.snakeyaml.representer.BaseRepresenter", e); + } + } + + @Test(timeout = 4000) + public void test07() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn((-300)).when(map0).size(); + // Undeclared exception! + try { + yamlEditor0.encode(map0); + fail("Expecting exception: IllegalArgumentException"); + + } catch(IllegalArgumentException e) { + // + // Illegal Capacity: -300 + // + verifyException("java.util.ArrayList", e); + } + } + + @Test(timeout = 4000) + public void test08() throws Throwable { + byte[] byteArray0 = new byte[0]; + YamlEditor yamlEditor0 = new YamlEditor(byteArray0); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn("").when(map0).get(any()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yml", (Object) map0); + LinkedHashSet linkedHashSet0 = new LinkedHashSet(); + // Undeclared exception! + try { + yamlEditor0.addParameterList(linkedHashSet0); + fail("Expecting exception: ClassCastException"); + + } catch(ClassCastException e) { + // + // java.lang.String cannot be cast to java.util.Map + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test09() throws Throwable { + byte[] byteArray0 = new byte[1]; + YamlEditor yamlEditor0 = null; + try { + yamlEditor0 = new YamlEditor(byteArray0); + fail("Expecting exception: RuntimeException"); + + } catch(RuntimeException e) { + // + // special characters are not allowed + // + verifyException("org.yaml.snakeyaml.reader.StreamReader", e); + } + } + + @Test(timeout = 4000) + public void test10() throws Throwable { + byte[] byteArray0 = new byte[1]; + byteArray0[0] = (byte)37; + YamlEditor yamlEditor0 = null; + try { + yamlEditor0 = new YamlEditor(byteArray0); + fail("Expecting exception: RuntimeException"); + + } catch(RuntimeException e) { + // + // while scanning a directive + // in 'reader', line 1, column 1: + // % + // ^ + // expected alphabetic or numeric character, but found \u0000(0) + // in 'reader', line 1, column 2: + // % + // ^ + // + verifyException("org.yaml.snakeyaml.scanner.ScannerImpl", e); + } + } + + @Test(timeout = 4000) + public void test11() throws Throwable { + byte[] byteArray0 = new byte[2]; + byteArray0[1] = (byte) (-80); + YamlEditor yamlEditor0 = null; + try { + yamlEditor0 = new YamlEditor(byteArray0); + fail("Expecting exception: RuntimeException"); + + } catch(RuntimeException e) { + // + // java.nio.charset.MalformedInputException: Input length = 1 + // + verifyException("org.yaml.snakeyaml.reader.StreamReader", e); + } + } + + @Test(timeout = 4000) + public void test13() throws Throwable { + byte[] byteArray0 = new byte[1]; + byteArray0[0] = (byte)110; + YamlEditor yamlEditor0 = null; + try { + yamlEditor0 = new YamlEditor(byteArray0); + fail("Expecting exception: ClassCastException"); + + } catch(ClassCastException e) { + // + // java.lang.String cannot be cast to java.util.Map + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test14() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + String string0 = yamlEditor0.encode(); + assertEquals("null\n", string0); + } + + @Test(timeout = 4000) + public void test15() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + HashMap hashMap0 = new HashMap(); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn(hashMap0).when(map0).get(any()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yml", (Object) map0); + Set set0 = (Set) mock(Set.class, new ViolatedAssumptionAnswer()); + doReturn((Iterator) null).when(set0).iterator(); + // Undeclared exception! + try { + yamlEditor0.addParameterList(set0); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test16() throws Throwable { + byte[] byteArray0 = new byte[0]; + YamlEditor yamlEditor0 = new YamlEditor(byteArray0); + HashMap hashMap0 = new HashMap(); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yml", (Object) hashMap0); + LinkedHashSet linkedHashSet0 = new LinkedHashSet(); + HeatTemplateParam heatTemplateParam0 = mock(HeatTemplateParam.class, new ViolatedAssumptionAnswer()); + doReturn(">!=_`7`2d(").when(heatTemplateParam0).getParamName(); + doReturn(">!=_`7`2d(").when(heatTemplateParam0).getParamType(); + linkedHashSet0.add(heatTemplateParam0); + yamlEditor0.addParameterList(linkedHashSet0); + Set set0 = yamlEditor0.getParameterList(); + assertFalse(set0.isEmpty()); + } + + @Test(timeout = 4000) + public void test17() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + HashMap hashMap0 = new HashMap(); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn(hashMap0).when(map0).get(any()); + hashMap0.put(yamlEditor0, "V28"); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yml", (Object) map0); + // Undeclared exception! + try { + yamlEditor0.getParameterList(); + fail("Expecting exception: ClassCastException"); + + } catch(ClassCastException e) { + // + // java.lang.String cannot be cast to java.util.Map + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test18() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + HashMap hashMap0 = new HashMap(); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn(hashMap0).when(map0).get(any()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yml", (Object) map0); + List list0 = yamlEditor0.getYamlResourceTypeList(); + assertEquals(0, list0.size()); + } + + @Test(timeout = 4000) + public void test19() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + // Undeclared exception! + try { + yamlEditor0.isParentTemplate((String) null); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test20() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + yamlEditor0.verifyTemplate(); + yamlEditor0.isParentTemplate("\""); + Map map0 = (Map) mock(Map.class, new ViolatedAssumptionAnswer()); + doReturn(yamlEditor0).when(map0).get(any()); + PrivateAccess.setVariable((Class) YamlEditor.class, yamlEditor0, "yml", (Object) map0); + // Undeclared exception! + try { + yamlEditor0.getYamlNestedFileResourceTypeList(); + fail("Expecting exception: ClassCastException"); + + } catch(ClassCastException e) { + // + // org.openecomp.mso.asdc.util.YamlEditor cannot be cast to java.util.Map + // + verifyException("org.openecomp.mso.asdc.util.YamlEditor", e); + } + } + + @Test(timeout = 4000) + public void test21() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + HashMap hashMap0 = new HashMap(); + String string0 = yamlEditor0.encode((Map) hashMap0); + assertEquals("{}\n", string0); + } + + @Test(timeout = 4000) + public void test22() throws Throwable { + YamlEditor yamlEditor0 = null; + try { + yamlEditor0 = new YamlEditor((byte[]) null); + fail("Expecting exception: NullPointerException"); + + } catch(NullPointerException e) { + // + // no message in exception (getMessage() returned null) + // + } + } + + @Test(timeout = 4000) + public void test23() throws Throwable { + YamlEditor yamlEditor0 = new YamlEditor(); + String string0 = yamlEditor0.toString(); + assertEquals("null\n", string0); + } +} diff --git a/asdc-controller/src/test/java/org/openecomp/mso/asdc/util/YamlEditorESTestscaffolding.java b/asdc-controller/src/test/java/org/openecomp/mso/asdc/util/YamlEditorESTestscaffolding.java new file mode 100644 index 0000000..dca8696 --- /dev/null +++ b/asdc-controller/src/test/java/org/openecomp/mso/asdc/util/YamlEditorESTestscaffolding.java @@ -0,0 +1,255 @@ +/** + * Scaffolding file used to store all the setups needed to run + * tests automatically generated by EvoSuite + * Fri Nov 25 13:17:51 GMT 2016 + */ + +package org.openecomp.mso.asdc.util; + +import org.evosuite.runtime.annotation.EvoSuiteClassExclude; +import org.junit.BeforeClass; +import org.junit.Before; +import org.junit.After; +import org.junit.AfterClass; +import org.evosuite.runtime.sandbox.Sandbox; + +@EvoSuiteClassExclude +public class YamlEditorESTestscaffolding { + + @org.junit.Rule + public org.evosuite.runtime.vnet.NonFunctionalRequirementRule nfr = new org.evosuite.runtime.vnet.NonFunctionalRequirementRule(); + + private static final java.util.Properties defaultProperties = (java.util.Properties) java.lang.System.getProperties().clone(); + + private org.evosuite.runtime.thread.ThreadStopper threadStopper = new org.evosuite.runtime.thread.ThreadStopper (org.evosuite.runtime.thread.KillSwitchHandler.getInstance(), 3000); + + @BeforeClass + public static void initEvoSuiteFramework() { + org.evosuite.runtime.RuntimeSettings.className = "org.openecomp.mso.asdc.util.YamlEditor"; + org.evosuite.runtime.GuiSupport.initialize(); + org.evosuite.runtime.RuntimeSettings.maxNumberOfThreads = 100; + org.evosuite.runtime.RuntimeSettings.maxNumberOfIterationsPerLoop = 10000; + org.evosuite.runtime.RuntimeSettings.mockSystemIn = true; + org.evosuite.runtime.RuntimeSettings.sandboxMode = org.evosuite.runtime.sandbox.Sandbox.SandboxMode.RECOMMENDED; + org.evosuite.runtime.sandbox.Sandbox.initializeSecurityManagerForSUT(); + org.evosuite.runtime.classhandling.JDKClassResetter.init(); + initializeClasses(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + } + + @AfterClass + public static void clearEvoSuiteFramework(){ + Sandbox.resetDefaultSecurityManager(); + java.lang.System.setProperties((java.util.Properties) defaultProperties.clone()); + } + + @Before + public void initTestCase(){ + threadStopper.storeCurrentThreads(); + threadStopper.startRecordingTime(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().initHandler(); + org.evosuite.runtime.sandbox.Sandbox.goingToExecuteSUTCode(); + + org.evosuite.runtime.GuiSupport.setHeadless(); + org.evosuite.runtime.Runtime.getInstance().resetRuntime(); + org.evosuite.runtime.agent.InstrumentingAgent.activate(); + } + + @After + public void doneWithTestCase(){ + threadStopper.killAndJoinClientThreads(); + org.evosuite.runtime.jvm.ShutdownHookHandler.getInstance().safeExecuteAddedHooks(); + org.evosuite.runtime.classhandling.JDKClassResetter.reset(); + resetClasses(); + org.evosuite.runtime.sandbox.Sandbox.doneWithExecutingSUTCode(); + org.evosuite.runtime.agent.InstrumentingAgent.deactivate(); + org.evosuite.runtime.GuiSupport.restoreHeadlessMode(); + } + + private static void initializeClasses() { + org.evosuite.runtime.classhandling.ClassStateSupport.initializeClasses(YamlEditorESTestscaffolding.class.getClassLoader() , + "org.yaml.snakeyaml.parser.ParserImpl", + "org.yaml.snakeyaml.nodes.SequenceNode", + "org.yaml.snakeyaml.composer.ComposerException", + "org.yaml.snakeyaml.introspector.BeanAccess", + "org.yaml.snakeyaml.representer.Representer$RepresentJavaBean", + "org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentNumber", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentBoolean", + "org.yaml.snakeyaml.scanner.ScannerImpl$Chomping", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlPairs", + "org.yaml.snakeyaml.emitter.Emitter$ExpectNothing", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentList", + "org.yaml.snakeyaml.events.Event", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlInt", + "org.yaml.snakeyaml.nodes.Node", + "org.yaml.snakeyaml.introspector.MissingProperty", + "org.yaml.snakeyaml.emitter.Emitable", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlTimestamp", + "org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject", + "org.yaml.snakeyaml.composer.Composer", + "org.yaml.snakeyaml.tokens.FlowMappingStartToken", + "org.yaml.snakeyaml.emitter.Emitter$ExpectDocumentStart", + "org.yaml.snakeyaml.constructor.SafeConstructor", + "org.yaml.snakeyaml.nodes.NodeId", + "org.yaml.snakeyaml.events.SequenceEndEvent", + "org.yaml.snakeyaml.events.MappingStartEvent", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentArray", + "org.yaml.snakeyaml.parser.Parser", + "org.yaml.snakeyaml.tokens.AnchorToken", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentDate", + "org.yaml.snakeyaml.parser.Production", + "org.yaml.snakeyaml.introspector.Property", + "org.yaml.snakeyaml.tokens.StreamStartToken", + "org.yaml.snakeyaml.DumperOptions$Version", + "org.yaml.snakeyaml.constructor.ConstructorException", + "org.yaml.snakeyaml.emitter.EmitterException", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlBool", + "org.yaml.snakeyaml.error.MarkedYAMLException", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlFloat", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentNull", + "org.yaml.snakeyaml.events.DocumentEndEvent", + "org.yaml.snakeyaml.error.Mark", + "org.yaml.snakeyaml.emitter.Emitter$ExpectFirstFlowMappingKey", + "org.yaml.snakeyaml.tokens.DocumentEndToken", + "org.yaml.snakeyaml.introspector.PropertyUtils", + "org.yaml.snakeyaml.external.com.google.gdata.util.common.base.Escaper", + "org.yaml.snakeyaml.events.StreamStartEvent", + "org.yaml.snakeyaml.error.YAMLException", + "org.yaml.snakeyaml.scanner.ScannerImpl", + "org.yaml.snakeyaml.reader.UnicodeReader", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlOmap", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap", + "org.yaml.snakeyaml.parser.ParserImpl$ParseBlockNode", + "org.yaml.snakeyaml.external.com.google.gdata.util.common.base.UnicodeEscaper", + "org.yaml.snakeyaml.parser.ParserImpl$ParseDocumentStart", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlNull", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlStr", + "org.yaml.snakeyaml.events.CollectionEndEvent", + "org.yaml.snakeyaml.DumperOptions", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentSet", + "org.yaml.snakeyaml.resolver.Resolver", + "org.yaml.snakeyaml.tokens.Token", + "org.yaml.snakeyaml.events.SequenceStartEvent", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlMap", + "org.yaml.snakeyaml.constructor.Constructor$ConstructMapping", + "org.yaml.snakeyaml.serializer.Serializer$1", + "org.yaml.snakeyaml.constructor.Constructor", + "org.yaml.snakeyaml.scanner.ScannerException", + "org.yaml.snakeyaml.tokens.ScalarToken", + "org.yaml.snakeyaml.resolver.ResolverTuple", + "org.yaml.snakeyaml.constructor.AbstractConstruct", + "org.yaml.snakeyaml.tokens.TagToken", + "org.yaml.snakeyaml.nodes.CollectionNode", + "org.yaml.snakeyaml.nodes.ScalarNode", + "org.yaml.snakeyaml.TypeDescription", + "org.yaml.snakeyaml.events.AliasEvent", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlSet", + "org.yaml.snakeyaml.constructor.Constructor$ConstructSequence", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlSeq", + "org.yaml.snakeyaml.reader.ReaderException", + "org.yaml.snakeyaml.tokens.DocumentStartToken", + "org.yaml.snakeyaml.util.UriEncoder", + "org.yaml.snakeyaml.serializer.SerializerException", + "org.yaml.snakeyaml.external.com.google.gdata.util.common.base.UnicodeEscaper$2", + "org.yaml.snakeyaml.events.MappingEndEvent", + "org.yaml.snakeyaml.parser.VersionTagsTuple", + "org.yaml.snakeyaml.DumperOptions$FlowStyle", + "org.yaml.snakeyaml.events.DocumentStartEvent", + "org.yaml.snakeyaml.tokens.FlowMappingEndToken", + "org.yaml.snakeyaml.emitter.Emitter$ExpectDocumentRoot", + "org.yaml.snakeyaml.representer.BaseRepresenter", + "org.yaml.snakeyaml.nodes.AnchorNode", + "org.yaml.snakeyaml.tokens.FlowSequenceStartToken", + "org.yaml.snakeyaml.tokens.FlowSequenceEndToken", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructYamlBinary", + "org.openecomp.mso.asdc.util.YamlEditor", + "org.yaml.snakeyaml.emitter.EmitterState", + "org.yaml.snakeyaml.events.Event$ID", + "org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart", + "org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder", + "org.yaml.snakeyaml.DumperOptions$LineBreak", + "org.yaml.snakeyaml.constructor.Construct", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentEnum", + "org.yaml.snakeyaml.introspector.PropertyUtils$1", + "org.yaml.snakeyaml.serializer.Serializer", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentPrimitiveArray", + "org.yaml.snakeyaml.scanner.Constant", + "org.yaml.snakeyaml.representer.SafeRepresenter", + "org.openecomp.mso.db.catalog.beans.HeatTemplateParam", + "org.yaml.snakeyaml.parser.ParserException", + "org.yaml.snakeyaml.tokens.AliasToken", + "org.yaml.snakeyaml.emitter.ScalarAnalysis", + "org.yaml.snakeyaml.constructor.SafeConstructor$ConstructUndefined", + "org.yaml.snakeyaml.events.CollectionStartEvent", + "org.yaml.snakeyaml.parser.ParserImpl$ParseStreamStart", + "org.yaml.snakeyaml.DumperOptions$ScalarStyle", + "org.yaml.snakeyaml.tokens.StreamEndToken", + "org.yaml.snakeyaml.constructor.BaseConstructor", + "org.yaml.snakeyaml.representer.BaseRepresenter$1", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentByteArray", + "org.yaml.snakeyaml.nodes.MappingNode", + "org.yaml.snakeyaml.Yaml", + "org.yaml.snakeyaml.constructor.Constructor$ConstructScalar", + "org.yaml.snakeyaml.scanner.SimpleKey", + "org.yaml.snakeyaml.resolver.Resolver$1", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentIterator", + "org.yaml.snakeyaml.emitter.Emitter$ExpectStreamStart", + "org.yaml.snakeyaml.tokens.DirectiveToken", + "org.yaml.snakeyaml.representer.Represent", + "org.yaml.snakeyaml.events.StreamEndEvent", + "org.yaml.snakeyaml.tokens.Token$ID", + "org.yaml.snakeyaml.parser.ParserImpl$ParseDocumentEnd", + "org.yaml.snakeyaml.nodes.Tag", + "org.yaml.snakeyaml.util.ArrayStack", + "org.yaml.snakeyaml.representer.SafeRepresenter$RepresentString", + "org.yaml.snakeyaml.events.ImplicitTuple", + "org.yaml.snakeyaml.scanner.Scanner", + "org.yaml.snakeyaml.emitter.Emitter$ExpectFirstDocumentStart", + "org.yaml.snakeyaml.events.NodeEvent", + "org.yaml.snakeyaml.emitter.Emitter", + "org.yaml.snakeyaml.reader.StreamReader", + "org.yaml.snakeyaml.representer.Representer", + "org.yaml.snakeyaml.emitter.Emitter$ExpectDocumentEnd", + "org.yaml.snakeyaml.events.ScalarEvent" + ); + } + + private static void resetClasses() { + org.evosuite.runtime.classhandling.ClassResetter.getInstance().setClassLoader(YamlEditorESTestscaffolding.class.getClassLoader()); + + org.evosuite.runtime.classhandling.ClassStateSupport.resetClasses( + "org.yaml.snakeyaml.constructor.SafeConstructor", + "org.yaml.snakeyaml.nodes.NodeId", + "org.yaml.snakeyaml.external.com.google.gdata.util.common.base.UnicodeEscaper", + "org.yaml.snakeyaml.external.com.google.gdata.util.common.base.PercentEscaper", + "org.yaml.snakeyaml.util.UriEncoder", + "org.yaml.snakeyaml.nodes.Tag", + "org.yaml.snakeyaml.representer.SafeRepresenter", + "org.yaml.snakeyaml.DumperOptions$FlowStyle", + "org.yaml.snakeyaml.representer.BaseRepresenter$1", + "org.yaml.snakeyaml.DumperOptions$ScalarStyle", + "org.yaml.snakeyaml.DumperOptions$LineBreak", + "org.yaml.snakeyaml.resolver.Resolver", + "org.yaml.snakeyaml.introspector.BeanAccess", + "org.yaml.snakeyaml.reader.StreamReader", + "org.yaml.snakeyaml.reader.UnicodeReader", + "org.yaml.snakeyaml.error.YAMLException", + "org.yaml.snakeyaml.reader.ReaderException", + "org.yaml.snakeyaml.emitter.Emitter", + "org.yaml.snakeyaml.serializer.Serializer$1", + "org.yaml.snakeyaml.resolver.Resolver$1", + "org.yaml.snakeyaml.scanner.Constant", + "org.yaml.snakeyaml.introspector.PropertyUtils$1", + "org.yaml.snakeyaml.parser.ParserImpl", + "org.yaml.snakeyaml.scanner.ScannerImpl", + "org.yaml.snakeyaml.events.Event$ID", + "org.yaml.snakeyaml.tokens.Token$ID", + "org.yaml.snakeyaml.error.MarkedYAMLException", + "org.yaml.snakeyaml.scanner.ScannerException", + "org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder", + "org.yaml.snakeyaml.parser.ParserException", + "org.openecomp.mso.asdc.util.YamlEditor" + ); + } +} diff --git a/asdc-controller/src/test/resources/logback-test.xml b/asdc-controller/src/test/resources/logback-test.xml new file mode 100644 index 0000000..a23395f --- /dev/null +++ b/asdc-controller/src/test/resources/logback-test.xml @@ -0,0 +1,47 @@ + + + + + + + %d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}||%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}||%X{Timer}|%msg%n + + + + + + + + + + + + + + + + + + + + + + diff --git a/asdc-controller/src/test/resources/mso-bad.json b/asdc-controller/src/test/resources/mso-bad.json new file mode 100644 index 0000000..be372fc --- /dev/null +++ b/asdc-controller/src/test/resources/mso-bad.json @@ -0,0 +1,15 @@ +{ + "asdc-connections":{, + "asdc-controller1":{ + "user": "testuser", + "consumerGroup": "consumerGroup", + "consumerId": "consumerId", + "environmentName": "environmentName", + "asdcAddress": "hostname1", + + "pollingInterval":10, + "pollingTimeout":30 + + } + } +} diff --git a/asdc-controller/src/test/resources/mso-two-configs.json b/asdc-controller/src/test/resources/mso-two-configs.json new file mode 100644 index 0000000..20c5f31 --- /dev/null +++ b/asdc-controller/src/test/resources/mso-two-configs.json @@ -0,0 +1,26 @@ +{ + "asdc-connections":{ + "asdc-controller1":{ + "user": "User1", + "consumerGroup": "consumerGroup1", + "consumerId": "consumerId1", + "environmentName": "environmentName1", + "asdcAddress": "hostname1", + "password": "1c551b8b5ab91fcd5a0907b11c304199", + "pollingInterval":10, + "pollingTimeout":30 + + }, + "asdc-controller2":{ + "user": "User2", + "consumerGroup": "consumerGroup2", + "consumerId": "consumerId2", + "environmentName": "environmentName2", + "asdcAddress": "hostname2", + "password": "1c551b8b5ab91fcd5a0907b11c304199", + "pollingInterval":10, + "pollingTimeout":30 + + } + } +} diff --git a/asdc-controller/src/test/resources/mso-two-configs2.json b/asdc-controller/src/test/resources/mso-two-configs2.json new file mode 100644 index 0000000..29db2ee --- /dev/null +++ b/asdc-controller/src/test/resources/mso-two-configs2.json @@ -0,0 +1,26 @@ +{ + "asdc-connections":{ + "asdc-controller1":{ + "user": "User1", + "consumerGroup": "consumerGroup1", + "consumerId": "consumerId1", + "environmentName": "environmentName1", + "asdcAddress": "hostname1", + "password": "1c551b8b5ab91fcd5a0907b11c304199", + "pollingInterval":10, + "pollingTimeout":30 + + }, + "asdc-controller2B":{ + "user": "User2", + "consumerGroup": "consumerGroup2", + "consumerId": "consumerId2", + "environmentName": "environmentName2", + "asdcAddress": "hostname2", + "password": "1c551b8b5ab91fcd5a0907b11c304199", + "pollingInterval":10, + "pollingTimeout":30 + + } + } +} diff --git a/asdc-controller/src/test/resources/mso-with-NULL.json b/asdc-controller/src/test/resources/mso-with-NULL.json new file mode 100644 index 0000000..b7ef75b --- /dev/null +++ b/asdc-controller/src/test/resources/mso-with-NULL.json @@ -0,0 +1,15 @@ +{ + "asdc-connections":{ + "asdc-controller1":{ + "user": "User", + "consumerGroup": "NULL", + "consumerId": "consumerId", + "environmentName": "environmentName", + "asdcAddress": "hostname", + "password": "1c551b8b5ab91fcd5a0907b11c304199", + "pollingInterval":10, + "pollingTimeout":30 + + } + } +} diff --git a/asdc-controller/src/test/resources/mso.json b/asdc-controller/src/test/resources/mso.json new file mode 100644 index 0000000..d74ee07 --- /dev/null +++ b/asdc-controller/src/test/resources/mso.json @@ -0,0 +1,15 @@ +{ + "asdc-connections":{ + "asdc-controller1":{ + "user": "User", + "consumerGroup": "consumerGroup", + "consumerId": "consumerId", + "environmentName": "environmentName", + "asdcAddress": "hostname", + "password": "1c551b8b5ab91fcd5a0907b11c304199", + "pollingInterval":10, + "pollingTimeout":30 + + } + } +} diff --git a/asdc-controller/src/test/resources/mso2.json b/asdc-controller/src/test/resources/mso2.json new file mode 100644 index 0000000..2d31fc4 --- /dev/null +++ b/asdc-controller/src/test/resources/mso2.json @@ -0,0 +1,15 @@ +{ + "asdc-connections":{ + "asdc-controller1":{ + "user": "User", + "consumerGroup": "consumerGroup", + "consumerId": "consumerId", + "environmentName": "environmentName", + "asdcAddress": "hostname", + "password": "1c551b8b5ab91fcd5a0907b11c304199", + "pollingInterval":10, + "pollingTimeout":30 + + } + } +} diff --git a/asdc-controller/src/test/resources/mso3.json b/asdc-controller/src/test/resources/mso3.json new file mode 100644 index 0000000..ac84dcf --- /dev/null +++ b/asdc-controller/src/test/resources/mso3.json @@ -0,0 +1,15 @@ +{ + "asdc-connections":{ + "asdc-controller1":{ + "user": "User", + "consumerGroup": "consumerGroup", + "consumerId": "consumerId", + "environmentName": "environmentName", + "asdcAddress": "hostname1", + "password": "1c551b8b5ab91fcd5a0907b11c304199", + "pollingInterval":10, + "pollingTimeout":30 + + } + } +} diff --git a/asdc-controller/src/test/resources/mso4-with-TLS.json b/asdc-controller/src/test/resources/mso4-with-TLS.json new file mode 100644 index 0000000..8e7c506 --- /dev/null +++ b/asdc-controller/src/test/resources/mso4-with-TLS.json @@ -0,0 +1,17 @@ +{ + "asdc-connections":{ + "asdc-controller1":{ + "user": "User", + "consumerGroup": "consumerGroup", + "consumerId": "consumerId", + "environmentName": "environmentName", + "asdcAddress": "hostname", + "password": "1c551b8b5ab91fcd5a0907b11c304199", + "pollingInterval":10, + "pollingTimeout":30, + "activateServerTLSAuth": true, + "keyStorePassword":"1c551b8b5ab91fcd5a0907b11c304199", + "keyStorePath": "/test" + } + } +} diff --git a/asdc-controller/src/test/resources/resource-examples/autoscaling.yaml b/asdc-controller/src/test/resources/resource-examples/autoscaling.yaml new file mode 100644 index 0000000..88eabb7 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/autoscaling.yaml @@ -0,0 +1,216 @@ +heat_template_version: 2013-05-23 +description: AutoScaling Wordpress +parameters: + image: + type: string + description: Image used for servers + key: + type: string + description: SSH key to connect to the servers + flavor: + type: string + description: flavor used by the web servers + database_flavor: + type: string + description: flavor used by the db server + network: + type: string + description: Network used by the server + subnet_id: + type: string + description: subnet on which the load balancer will be located + database_name: + type: string + description: Name of the wordpress DB + default: wordpress + database_user: + type: string + description: Name of the wordpress user + default: wordpress + external_network_id: + type: string + description: UUID of a Neutron external network +resources: + database_password: + type: OS::Heat::RandomString + database_root_password: + type: OS::Heat::RandomString + db: + type: OS::Nova::Server + properties: + flavor: {get_param: database_flavor} + image: {get_param: image} + key_name: {get_param: key} + networks: [{network: {get_param: network} }] + user_data_format: RAW + user_data: + str_replace: + template: | + #!/bin/bash -v + yum -y install mariadb mariadb-server + systemctl enable mariadb.service + systemctl start mariadb.service + mysqladmin -u root password $db_rootpassword + cat << EOF | mysql -u root --password=$db_rootpassword + CREATE DATABASE $db_name; + GRANT ALL PRIVILEGES ON $db_name.* TO "$db_user"@"%" + IDENTIFIED BY "$db_password"; + FLUSH PRIVILEGES; + EXIT + EOF + params: + $db_rootpassword: {get_attr: [database_root_password, value]} + $db_name: {get_param: database_name} + $db_user: {get_param: database_user} + $db_password: {get_attr: [database_password, value]} + asg: + type: OS::Heat::AutoScalingGroup + properties: + min_size: 1 + max_size: 3 + resource: + type: lb_server.yaml + properties: + flavor: {get_param: flavor} + image: {get_param: image} + key_name: {get_param: key} + network: {get_param: network} + pool_id: {get_resource: pool} + metadata: {"metering.stack": {get_param: "OS::stack_id"}} + user_data: + str_replace: + template: | + #!/bin/bash -v + yum -y install httpd wordpress + systemctl enable httpd.service + systemctl start httpd.service + setsebool -P httpd_can_network_connect_db=1 + + sed -i "/Deny from All/d" /etc/httpd/conf.d/wordpress.conf + sed -i "s/Require local/Require all granted/" /etc/httpd/conf.d/wordpress.conf + sed -i s/database_name_here/$db_name/ /etc/wordpress/wp-config.php + sed -i s/username_here/$db_user/ /etc/wordpress/wp-config.php + sed -i s/password_here/$db_password/ /etc/wordpress/wp-config.php + sed -i s/localhost/$db_host/ /etc/wordpress/wp-config.php + + systemctl restart httpd.service + params: + $db_name: {get_param: database_name} + $db_user: {get_param: database_user} + $db_password: {get_attr: [database_password, value]} + $db_host: {get_attr: [db, first_address]} + web_server_scaleup_policy: + type: OS::Heat::ScalingPolicy + properties: + adjustment_type: change_in_capacity + auto_scaling_group_id: {get_resource: asg} + cooldown: 60 + scaling_adjustment: 1 + web_server_scaledown_policy: + type: OS::Heat::ScalingPolicy + properties: + adjustment_type: change_in_capacity + auto_scaling_group_id: {get_resource: asg} + cooldown: 60 + scaling_adjustment: -1 + cpu_alarm_high: + type: OS::Ceilometer::Alarm + properties: + description: Scale-up if the average CPU > 50% for 1 minute + meter_name: cpu_util + statistic: avg + period: 60 + evaluation_periods: 1 + threshold: 50 + alarm_actions: + - {get_attr: [web_server_scaleup_policy, alarm_url]} + matching_metadata: {'metadata.user_metadata.stack': {get_param: "OS::stack_id"}} + comparison_operator: gt + cpu_alarm_low: + type: OS::Ceilometer::Alarm + properties: + description: Scale-down if the average CPU < 15% for 10 minutes + meter_name: cpu_util + statistic: avg + period: 600 + evaluation_periods: 1 + threshold: 15 + alarm_actions: + - {get_attr: [web_server_scaledown_policy, alarm_url]} + matching_metadata: {'metadata.user_metadata.stack': {get_param: "OS::stack_id"}} + comparison_operator: lt + monitor: + type: OS::Neutron::HealthMonitor + properties: + type: TCP + delay: 5 + max_retries: 5 + timeout: 5 + pool: + type: OS::Neutron::Pool + properties: + protocol: HTTP + monitors: [{get_resource: monitor}] + subnet_id: {get_param: subnet_id} + lb_method: ROUND_ROBIN + vip: + protocol_port: 80 + lb: + type: OS::Neutron::LoadBalancer + properties: + protocol_port: 80 + pool_id: {get_resource: pool} + + # assign a floating ip address to the load balancer + # pool. + lb_floating: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: {get_param: external_network_id} + port_id: {get_attr: [pool, vip, port_id]} + + outputs: + scale_up_url: + description: > + This URL is the webhook to scale up the autoscaling group. You + can invoke the scale-up operation by doing an HTTP POST to this + URL; no body nor extra headers are needed. + value: {get_attr: [web_server_scaleup_policy, alarm_url]} + scale_dn_url: + description: > + This URL is the webhook to scale down the autoscaling group. + You can invoke the scale-down operation by doing an HTTP POST to + this URL; no body nor extra headers are needed. + value: {get_attr: [web_server_scaledown_policy, alarm_url]} + pool_ip_address: + value: {get_attr: [pool, vip, address]} + description: The IP address of the load balancing pool + website_url: + value: + str_replace: + template: http://host/wordpress/ + params: + host: { get_attr: [lb_floating, floating_ip_address] } + description: > + This URL is the "external" URL that can be used to access the + Wordpress site. + ceilometer_query: + value: + str_replace: + template: > + ceilometer statistics -m cpu_util + -q metadata.user_metadata.stack=stackval -p 600 -a avg + params: + stackval: { get_param: "OS::stack_id" } + description: > + This is a Ceilometer query for statistics on the cpu_util meter + Samples about OS::Nova::Server instances in this stack. The -q + parameter selects Samples according to the subject's metadata. + When a VM's metadata includes an item of the form metering.X=Y, + the corresponding Ceilometer resource has a metadata item of the + form user_metadata.X=Y and samples about resources so tagged can + be queried with a Ceilometer query term of the form + metadata.user_metadata.X=Y. In this case the nested stacks give + their VMs metadata that is passed as a nested stack parameter, + and this stack passes a metadata of the form metering.stack=Y, + where Y is this stack's ID. diff --git a/asdc-controller/src/test/resources/resource-examples/mixed.yaml b/asdc-controller/src/test/resources/resource-examples/mixed.yaml new file mode 100644 index 0000000..9dc4a42 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/mixed.yaml @@ -0,0 +1,1523 @@ +heat_template_version: 2013-05-23 + +description: > + HOT template that creates internal networks, load balancers and servers for vMMSC. + +parameters: + oam_net_name: + type: string + description: UID of OAM network + oam_network_netmask: + type: string + label: oam network netmask + description: oam network gateway + oam_network_gateway: + type: string + label: oam network gateway + description: oam network gateway + oam_network_route_1: + type: string + label: oam network route 1 + description: oam network route 1 + oam_network_route_2: + type: string + label: oam network route 2 + description: oam network route 2 + external_dns: + type: string + label: dns server + description: dns server for MMSC + external_ntp: + type: string + label: ntp server + description: ntp server for MMSC + lb1_oam_net_ip: + type: string + label: management network ip for mmsc + description: the ip of the management network for mmsc + lb2_oam_net_ip: + type: string + label: management network ip for mmsc + description: the ip of the management network for mmsc + dmz_protected_net: + type: string + description: UID of dmz_protected network + dmz_protected_net_local_ip1: + type: string + label: mmsc dmz protected network local ip1 + description: the local ip1 of the mmsc dmz protected network + dmz_protected_net_local_ip2: + type: string + label: mmsc dmz protected network local ip2 + description: the local ip2 of the mmsc dmz protected network + dmz_protected_net_floating_ip: + type: string + label: mmsc dmz protected floating ip + description: mmsc dmz direct floating ip + cor_direct_net: + type: string + label: cor direct net UID + description: cor direct net + cor_direct_net_local_ip1: + type: string + label: mmsc cor direct network local ip1 + description: the local ip1 of the mmsc cor direct network + cor_direct_net_local_ip2: + type: string + label: mmsc cor direct network local ip2 + description: the local ip2 of the mmsc cor direct network + cor_direct_net_floating_ip: + type: string + label: mmsc cor direct floating ip + description: mmsc cor direct floating ip + mms_traffic_net_name: + type: string + description: Name of MMS traffic network + mms_traffic_net_cidr: + type: string + description: MMS traffic network address (CIDR notation) + mms_traffic_netmask: + type: string + description: MMS traffic network subnet mask + mms_traffic_net_gateway: + type: string + description: MMS traffic network gateway address + mms_traffic_start: + type: string + label: mmsc traffic start IP + description: mmsc traffic start IP + mms_traffic_end: + type: string + label: mmsc traffic end IP + description: mmsc traffic end IP + mms_traffic_net_cidr: + type: string + label: mmsc traffic cidr + description: mmsc traffic cidr + mms_traffic_net_local_ip1: + type: string + label: mmsc traffic network local ip1 + description: the local ip1 of the mmsc traffic network + mms_traffic_net_local_ip2: + type: string + label: mmsc traffic network local ip2 + description: the local ip2 of the mmsc traffic network + mms_traffic_net_floating_ip: + type: string + label: mmsc traffic floating ip + description: mmsc traffic floating ip + nems_internal_name: + type: string + label: nems internal network name + description: nems internal network name + nems_internal_start: + type: string + label: nems internal start + description: nems internal start + nems_internal_end: + type: string + label: nems internal end + description: nems internal end + nems_internal_cidr: + type: string + label: nems ineternal cidr + description: nems internal cidr + nems_internal_netmask: + type: string + description: NEMS internal network subnet mask + nems_internal_gateway: + type: string + label: nems internal gw + description: nems internal gw + nems_traffic_name: + type: string + label: nems traffic name + description: nems traffic name + nems_traffic_start: + type: string + label: nems traffic start + description: nems traffic start + nems_traffic_end: + type: string + label: nems traffic end + description: nems traffic end + nems_traffic_cidr: + type: string + label: nems traffic cidr + description: nems traffic cidr + nems_traffic_netmask: + type: string + description: NEMS traffic network subnet mask + nems_traffic_gateway: + type: string + description: NEMS traffic network gateway + nems_traffic_net_local_ip1: + type: string + label: nems traffic network local ip1 + description: the local ip1 of the nems traffic network + nems_traffic_net_local_ip2: + type: string + label: nems traffic network local ip2 + description: the local ip2 of the nems traffic network + nems_traffic_net_floating_ip: + type: string + label: nems traffic floating ip + description: nems traffic floating ip + nems_user_web_name: + type: string + label: nems user web name + description: nems user web name + nems_user_web_start: + type: string + label: nems user web start + description: nems user web end + nems_user_web_end: + type: string + label: nems user web end + description: nems user web end + nems_user_web_cidr: + type: string + label: nems user web cidr + description: nems user web cidr + nems_user_web_netmask: + type: string + description: NEMS user web network subnet mask + nems_user_web_gateway: + type: string + description: NEMS user web network gateway + nems_user_web_net_local_ip1: + type: string + label: nems user web network local ip1 + description: the local ip1 of the nems user web network + nems_user_web_net_local_ip2: + type: string + label: nems user web network local ip2 + description: the local ip2 of the nems user web network + nems_user_web_net_floating_ip: + type: string + label: nems user web floating ip + description: nems user web floating ip + nems_imap_name: + type: string + label: nems imap name + description: nems imap name + nems_imap_netmask: + type: string + label: nems imap subnet mask + description: nems imap subnet mask + nems_imap_start: + type: string + label: nems imap start + description: nems imap start + nems_imap_end: + type: string + label: nems imap end + description: nems imap end + nems_imap_cidr: + type: string + label: nems imap cidr + description: nems imap cidr + nems_imap_gateway: + type: string + label: nems imap gateway + description: nems imap gateway + eca_traffic_name: + type: string + label: eca traffic name + description: eca traffic name + eca_traffic_start: + type: string + label: eca traffic start + description: eca traffic start + eca_traffic_end: + type: string + label: eca traffic end + description: eca traffic end + eca_traffic_cidr: + type: string + label: eca traffic cidr + description: eca traffic cidr + eca_traffic_netmask: + type: string + description: ECA traffic network subnet mask + eca_traffic_net_local_ip1: + type: string + label: eca traffic network local ip1 + description: the local ip1 of the eca traffic network + eca_traffic_net_local_ip2: + type: string + label: eca traffic network local ip2 + description: the local ip2 of the eca traffic network + eca_traffic_net_floating_ip: + type: string + label: eca traffic floating ip + description: eca traffic floating ip + eca_mgmt_name: + type: string + label: eca management name + description: eca management name + eca_mgmt_start: + type: string + label: eca management start + description: eca management start + eca_mgmt_end: + type: string + label: eca management end + description: eca management end + eca_mgmt_cidr: + type: string + label: eca management cidr + description: eca management cidr + eca_mgmt_netmask: + type: string + description: ECA mgmt network subnet mask + ha_net_name: + type: string + label: ha_failover network name + description: ha_failover network name + ha_net_start: + type: string + label: ha net start + description: ha net start + ha_net_end: + type: string + label: ha net end + description: ha net end + ha_net_cidr: + type: string + label: ha net cidr + description: ha net cidr + ha_net_local_ip1: + type: string + label: ha net network local ip1 + description: the local ip1 of the ha network + ha_net_local_ip2: + type: string + label: ha net network local ip2 + description: the local ip2 of the ha network + lb1_name: + type: string + label: MMSC load balancer instance name + description: MMSC load balancer instance name + lb_image_name: + type: string + label: MMSC load balancer image name + description: MMSC load balancer image name + lb_flavor_name: + type: string + label: Load balancer flavor name + description: the flavor name of MMSC load balancer instance + lb1_name: + type: string + label: MMSC load balancer1 instance name + description: MMSC load balancer1 instance name + lb2_name: + type: string + label: MMSC load balancer2 instance name + description: MMSC load balancer2 instance name + availabilityzone_name: + type: string + label: MMSC availabilityzone name + description: MMSC availabilityzone name + security_group_name: + type: string + label: MMSC security group name + description: MMSC security group name + mmsc_image: + type: string + description: Image for MMSC server + mmsc_flavor: + type: string + description: Flavor for MMSC server +# mmsc_cinder_volume_size: +# type: number +# label: MMSC Cinder volume size +# description: the size of the MMSC Cinder volume + nems_fe_image: + type: string + description: Image for NEMS FE server + nems_fe_flavor: + type: string + description: Flavor for NEMS FE server + nems_be_image: + type: string + description: Image for NEMS BE server + nems_be_flavor: + type: string + description: Flavor for NEMS BE server + eca_trx_image: + type: string + description: Image for ECA TRX server + eca_trx_flavor: + type: string + description: Flavor for ECA TRX server + eca_oam_image: + type: string + description: Image for ECA OAM server + eca_oam_flavor: + type: string + description: Flavor for ECA OAM server + mmsc1_name: + type: string + description: MMSC1 server name + mmsc1_oam_net_ip: + type: string + description: OAM_net IP for MMSC1 + mmsc1_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC1 + mmsc2_name: + type: string + description: MMSC2 server name + mmsc2_oam_net_ip: + type: string + description: OAM_net IP for MMSC2 + mmsc2_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC2 + mmsc3_name: + type: string + description: MMSC3 server name + mmsc3_oam_net_ip: + type: string + description: OAM_net IP for MMSC3 + mmsc3_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC3 + mmsc4_name: + type: string + description: MMSC4 server name + mmsc4_oam_net_ip: + type: string + description: OAM_net IP for MMSC4 + mmsc4_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC4 + mmsc5_name: + type: string + description: MMSC5 server name + mmsc5_oam_net_ip: + type: string + description: OAM_net IP for MMSC5 + mmsc5_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC5 + nems_fe1_name: + type: string + description: NEMS_FE1 server name + nems_fe1_node_role: + type: string + label: nems node role + description: nems node role + nems_fe1_oam_net_ip: + type: string + description: OAM_net IP for NEMS_FE1 + nems_fe1_nems_traffic_net_ip: + type: string + description: nems_traffic_net IP for NEMS_FE1 + nems_fe1_nems_user_web_net_ip: + type: string + description: nems_web_user_net IP for NEMS_FE1 + nems_fe1_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_FE1 + nems_fe1_nems_imap_net_ip: + type: string + description: nems_imap_net IP for NEMS_FE1 + nems_fe2_name: + type: string + description: NEMS_FE2 server name + nems_fe2_node_role: + type: string + label: nems node role + description: nems node role + nems_fe2_oam_net_ip: + type: string + description: OAM_net IP for NEMS_FE2 + nems_fe2_nems_traffic_net_ip: + type: string + description: nems_traffic_net IP for NEMS_FE2 + nems_fe2_nems_user_web_net_ip: + type: string + description: nems_web_user_net IP for NEMS_FE2 + nems_fe2_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_FE2 + nems_fe2_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_FE2 + nems_fe2_nems_imap_net_ip: + type: string + description: nems_imap_net IP for NEMS_FE2 + nems_be1_name: + type: string + description: NEMS_BE2 server name + nems_be1_node_role: + type: string + label: nems node role + description: nems node role + nems_be1_oam_net_ip: + type: string + description: OAM_net IP for NEMS_BE1 + nems_be1_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_BE1 + nems_be1_nems_imap_net_ip: + type: string + description: nems_imap_net IP for NEMS_BE1 + nems_be2_name: + type: string + description: NEMS_BE2 server name + nems_be2_node_role: + type: string + label: nems node role + description: nems node role + nems_be2_oam_net_ip: + type: string + description: OAM_net IP for NEMS_BE2 + nems_be2_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_BE2 + nems_be2_nems_imap_net_ip: + type: string + description: nems_imap_net IP for NEMS_BE2 + eca_oam1_name: + type: string + description: ECA_OAM1 server name + eca_oam1_oam_net_ip: + type: string + description: OAM_net IP for ECA_OAM1 + eca_oam1_eca_mgmt_net_ip: + type: string + description: eca_mgmt_net IP for ECA_OAM1 + eca_oam2_name: + type: string + description: ECA_OAM2 server name + eca_oam2_oam_net_ip: + type: string + description: OAM_net IP for ECA_OAM2 + eca_oam2_eca_mgmt_net_ip: + type: string + description: eca_mgmt_net IP for ECA_OAM2 + eca_trx1_name: + type: string + description: ECA_TRX1 server name + eca_trx1_oam_net_ip: + type: string + description: OAM_net IP for ECA_TRX1 + eca_trx1_eca_mgmt_net_ip: + type: string + description: eca_mgmt_net IP for ECA_TRX1 + eca_trx1_eca_traffic_net_ip: + type: string + description: eca_traffic_net IP for ECA_TRX1 + +resources: + mms_security_group: + type: OS::Neutron::SecurityGroup + properties: + description: mmsc security group + name: {get_param: security_group_name} + rules: [{"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": egress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": ingress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0} + ] + + mms_traffic_net: + type: OS::Contrail::VirtualNetwork + properties: + name: { get_param: mms_traffic_net_name } + + mms_traffic_ip_subnet: + type: OS::Neutron::Subnet + properties: + name: {get_param: mms_traffic_net_name} + network_id: { get_resource: mms_traffic_net } + cidr: { get_param: mms_traffic_net_cidr } + allocation_pools: [{"start": {get_param: mms_traffic_start}, "end": {get_param: mms_traffic_end}}] + gateway_ip: { get_param: mms_traffic_net_gateway } + enable_dhcp: false + + nems_internal_net: + type: OS::Contrail::VirtualNetwork + properties: + name: {get_param: nems_internal_name} + + nems_internal_network_ip_subnet: + type: OS::Neutron::Subnet + properties: + name: {get_param: nems_internal_name} + allocation_pools: [{"start": {get_param: nems_internal_start}, "end": {get_param: nems_internal_end}}] + cidr: {get_param: nems_internal_cidr} + enable_dhcp: false + gateway_ip: null + network_id: {get_resource: nems_internal_net} + + nems_traffic_net: + type: OS::Contrail::VirtualNetwork + properties: + name: {get_param: nems_traffic_name} + + nems_traffic_network_ip_subnet: + type: OS::Neutron::Subnet + properties: + name: {get_param: nems_traffic_name} + allocation_pools: [{"start": {get_param: nems_traffic_start}, "end": {get_param: nems_traffic_end}}] + cidr: {get_param: nems_traffic_cidr} + enable_dhcp: false + gateway_ip: null + network_id: {get_resource: nems_traffic_net} + + nems_user_web_net: + type: OS::Contrail::VirtualNetwork + properties: + name: {get_param: nems_user_web_name} + + nems_user_web_network_ip_subnet: + type: OS::Neutron::Subnet + properties: + name: {get_param: nems_user_web_name} + allocation_pools: [{"start": {get_param: nems_user_web_start}, "end": {get_param: nems_user_web_end}}] + cidr: {get_param: nems_user_web_cidr} + enable_dhcp: false + gateway_ip: null + network_id: {get_resource: nems_user_web_net} + + nems_imap_net: + type: OS::Contrail::VirtualNetwork + properties: + name: {get_param: nems_imap_name} + + nems_imap_network_ip_subnet: + type: OS::Neutron::Subnet + properties: + name: {get_param: nems_imap_name} + allocation_pools: [{"start": {get_param: nems_imap_start}, "end": {get_param: nems_imap_end}}] + cidr: {get_param: nems_imap_cidr} + enable_dhcp: false + gateway_ip: null + network_id: {get_resource: nems_imap_net} + + eca_traffic_net: + type: OS::Contrail::VirtualNetwork + properties: + name: {get_param: eca_traffic_name} + + eca_traffic_ip_subnet: + type: OS::Neutron::Subnet + properties: + name: {get_param: eca_traffic_name} + allocation_pools: [{"start": {get_param: eca_traffic_start}, "end": {get_param: eca_traffic_end}}] + cidr: {get_param: eca_traffic_cidr} + enable_dhcp: false + gateway_ip: null + network_id: {get_resource: eca_traffic_net} + + ha_net: + type: OS::Contrail::VirtualNetwork + properties: + name: {get_param: ha_net_name} + + ha_net_ip_subnet: + type: OS::Neutron::Subnet + properties: + name: {get_param: ha_net_name} + allocation_pools: [{"start": {get_param: ha_net_start}, "end": {get_param: ha_net_end}}] + cidr: {get_param: ha_net_cidr} + enable_dhcp: false + gateway_ip: null + network_id: {get_resource: ha_net} + + eca_mgmt_net: + type: OS::Contrail::VirtualNetwork + properties: + name: {get_param: eca_mgmt_name} + + eca_mgmt_network_ip_subnet: + type: OS::Neutron::Subnet + properties: + name: {get_param: eca_mgmt_name} + allocation_pools: [{"start": {get_param: eca_mgmt_start}, "end": {get_param: eca_mgmt_end}}] + cidr: {get_param: eca_mgmt_cidr} + enable_dhcp: false + gateway_ip: null + network_id: {get_resource: eca_mgmt_net} + + lb1_instance: + type: OS::Nova::Server + properties: + name: {get_param: lb1_name} + image: {get_param: lb_image_name} + flavor: {get_param: lb_flavor_name} + availability_zone: {get_param: availabilityzone_name} + networks: + - port: {get_resource: lb1_mgmt_port} + - port: {get_resource: lb1_dmz_protected_port} + - port: {get_resource: lb1_cor_direct_port} + - port: {get_resource: lb1_mms_traffic_port} + - port: {get_resource: lb1_nems_traffic_port} + - port: {get_resource: lb1_nems_user_web_port} + - port: {get_resource: lb1_eca_traffic_port} + - port: {get_resource: lb1_ha_net_port} + + lb1_mgmt_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: oam_net_name} + fixed_ips: [{"ip_address": {get_param: lb1_oam_net_ip}}] + security_groups: [{get_resource: mms_security_group}] + + lb1_mms_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: mms_traffic_net} + fixed_ips: [{"ip_address": {get_param: mms_traffic_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: mms_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_dmz_protected_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: dmz_protected_net} + fixed_ips: [{"ip_address": {get_param: dmz_protected_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: dmz_protected_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_cor_direct_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: cor_direct_net} + fixed_ips: [{"ip_address": {get_param: cor_direct_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: cor_direct_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_nems_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: nems_traffic_net} + fixed_ips: [{"ip_address": {get_param: nems_traffic_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: nems_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_nems_user_web_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: nems_user_web_net} + fixed_ips: [{"ip_address": {get_param: nems_user_web_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: nems_user_web_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_ha_net_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: ha_net} + fixed_ips: [{"ip_address": {get_param: ha_net_local_ip1}}] + + lb1_eca_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: eca_traffic_net} + fixed_ips: [{"ip_address": {get_param: eca_traffic_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: eca_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_instance: + type: OS::Nova::Server + properties: + name: {get_param: lb2_name} + image: {get_param: lb_image_name} + flavor: {get_param: lb_flavor_name} + availability_zone: {get_param: availabilityzone_name} + networks: + - port: {get_resource: lb2_mgmt_port} + - port: {get_resource: lb2_dmz_protected_port} + - port: {get_resource: lb2_cor_direct_port} + - port: {get_resource: lb2_mms_traffic_port} + - port: {get_resource: lb2_nems_traffic_port} + - port: {get_resource: lb2_nems_user_web_port} + - port: {get_resource: lb2_eca_traffic_port} + - port: {get_resource: lb2_ha_net_port} + + lb2_mgmt_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: oam_net_name} + fixed_ips: [{"ip_address": {get_param: lb2_oam_net_ip}}] + security_groups: [{get_resource: mms_security_group}] + + lb2_mms_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: mms_traffic_net} + fixed_ips: [{"ip_address": {get_param: mms_traffic_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: mms_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_dmz_protected_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: dmz_protected_net} + fixed_ips: [{"ip_address": {get_param: dmz_protected_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: dmz_protected_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_cor_direct_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: cor_direct_net} + fixed_ips: [{"ip_address": {get_param: cor_direct_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: cor_direct_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_nems_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: nems_traffic_net} + fixed_ips: [{"ip_address": {get_param: nems_traffic_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: nems_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_nems_user_web_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: nems_user_web_net} + fixed_ips: [{"ip_address": {get_param: nems_user_web_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: nems_user_web_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_ha_net_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: ha_net} + fixed_ips: [{"ip_address": {get_param: ha_net_local_ip2}}] + + lb2_eca_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: eca_traffic_net} + fixed_ips: [{"ip_address": {get_param: eca_traffic_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: eca_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + server_mmsc1: + type: OS::Nova::Server + properties: + name: { get_param: mmsc1_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc1_port_0 } + - port: { get_resource: mmsc1_port_1 } + user_data: + str_replace: + template: | + mmsc.mgmt.ip=${mmsc.mgmt.ip} + mmsc.mgmt.netmask=${mmsc.mgmt.netmask} + mmsc.mgmt.gateway=${mmsc.mgmt.gateway} + mmsc.traffic.ip=${mmsc.traffic.ip} + mmsc.traffic.netmask=${mmsc.traffic.netmask} + mmsc.traffic.gateway=${mmsc.traffic.gateway} + mmsc.mgmt.route.1=${mmsc.mgmt.route.1} + mmsc.mgmt.route.2=${mmsc.mgmt.route.2} + mmsc.external.dns=${mmsc.external.dns} + mmsc.external.ntp=${mmsc.external.ntp} + params: + ${mmsc.mgmt.ip}: {get_param: mmsc1_oam_net_ip} + ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask} + ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway} + ${mmsc.traffic.ip}: {get_param: mmsc1_mms_traffic_net_ip} + ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask} + ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway} + ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1} + ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2} + ${mmsc.external.dns}: {get_param: external_dns} + ${mmsc.external.ntp}: {get_param: external_ntp} + user_data_format: RAW +# mmsc1_volume: +# type: OS::Cinder::Volume +# properties: +# size: {get_param: mmsc_cinder_volume_size} + +# mmsc1_volume_attachment: +# type: OS::Cinder::VolumeAttachment +# properties: +# volume_id: {get_resource: mmsc1_volume} +# instance_uuid: {get_resource: server_mmsc1} + + mmsc1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc1_oam_net_ip } + ] + + mmsc1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc1_mms_traffic_net_ip } + ] + + server_mmsc2: + type: OS::Nova::Server + properties: + name: { get_param: mmsc2_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc2_port_0 } + - port: { get_resource: mmsc2_port_1 } + user_data: + str_replace: + template: | + mmsc.mgmt.ip=${mmsc.mgmt.ip} + mmsc.mgmt.netmask=${mmsc.mgmt.netmask} + mmsc.mgmt.gateway=${mmsc.mgmt.gateway} + mmsc.traffic.ip=${mmsc.traffic.ip} + mmsc.traffic.netmask=${mmsc.traffic.netmask} + mmsc.traffic.gateway=${mmsc.traffic.gateway} + mmsc.mgmt.route.1=${mmsc.mgmt.route.1} + mmsc.mgmt.route.2=${mmsc.mgmt.route.2} + mmsc.external.dns=${mmsc.external.dns} + mmsc.external.ntp=${mmsc.external.ntp} + params: + ${mmsc.mgmt.ip}: {get_param: mmsc2_oam_net_ip} + ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask} + ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway} + ${mmsc.traffic.ip}: {get_param: mmsc2_mms_traffic_net_ip} + ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask} + ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway} + ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1} + ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2} + ${mmsc.external.dns}: {get_param: external_dns} + ${mmsc.external.ntp}: {get_param: external_ntp} + user_data_format: RAW +# mmsc2_volume: +# type: OS::Cinder::Volume +# properties: +# size: {get_param: mmsc_cinder_volume_size} + +# mmsc2_volume_attachment: +# type: OS::Cinder::VolumeAttachment +# properties: +# volume_id: {get_resource: mmsc2_volume} +# instance_uuid: {get_resource: server_mmsc2} + + mmsc2_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc2_oam_net_ip } + ] + + mmsc2_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc2_mms_traffic_net_ip } + ] + + server_mmsc3: + type: OS::Nova::Server + properties: + name: { get_param: mmsc3_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc3_port_0 } + - port: { get_resource: mmsc3_port_1 } + user_data: + str_replace: + template: | + mmsc.mgmt.ip=${mmsc.mgmt.ip} + mmsc.mgmt.netmask=${mmsc.mgmt.netmask} + mmsc.mgmt.gateway=${mmsc.mgmt.gateway} + mmsc.traffic.ip=${mmsc.traffic.ip} + mmsc.traffic.netmask=${mmsc.traffic.netmask} + mmsc.traffic.gateway=${mmsc.traffic.gateway} + mmsc.mgmt.route.1=${mmsc.mgmt.route.1} + mmsc.mgmt.route.2=${mmsc.mgmt.route.2} + mmsc.external.dns=${mmsc.external.dns} + mmsc.external.ntp=${mmsc.external.ntp} + params: + ${mmsc.mgmt.ip}: {get_param: mmsc3_oam_net_ip} + ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask} + ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway} + ${mmsc.traffic.ip}: {get_param: mmsc3_mms_traffic_net_ip} + ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask} + ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway} + ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1} + ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2} + ${mmsc.external.dns}: {get_param: external_dns} + ${mmsc.external.ntp}: {get_param: external_ntp} + user_data_format: RAW + + mmsc3_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc3_oam_net_ip } + ] + + mmsc3_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc3_mms_traffic_net_ip } + ] + + server_mmsc4: + type: OS::Nova::Server + properties: + name: { get_param: mmsc4_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc4_port_0 } + - port: { get_resource: mmsc4_port_1 } + user_data: + str_replace: + template: | + mmsc.mgmt.ip=${mmsc.mgmt.ip} + mmsc.mgmt.netmask=${mmsc.mgmt.netmask} + mmsc.mgmt.gateway=${mmsc.mgmt.gateway} + mmsc.traffic.ip=${mmsc.traffic.ip} + mmsc.traffic.netmask=${mmsc.traffic.netmask} + mmsc.traffic.gateway=${mmsc.traffic.gateway} + mmsc.mgmt.route.1=${mmsc.mgmt.route.1} + mmsc.mgmt.route.2=${mmsc.mgmt.route.2} + mmsc.external.dns=${mmsc.external.dns} + mmsc.external.ntp=${mmsc.external.ntp} + params: + ${mmsc.mgmt.ip}: {get_param: mmsc4_oam_net_ip} + ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask} + ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway} + ${mmsc.traffic.ip}: {get_param: mmsc4_mms_traffic_net_ip} + ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask} + ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway} + ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1} + ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2} + ${mmsc.external.dns}: {get_param: external_dns} + ${mmsc.external.ntp}: {get_param: external_ntp} + user_data_format: RAW + + mmsc4_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc4_oam_net_ip } + ] + + mmsc4_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc4_mms_traffic_net_ip } + ] + + server_mmsc5: + type: OS::Nova::Server + properties: + name: { get_param: mmsc5_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc5_port_0 } + - port: { get_resource: mmsc5_port_1 } + + mmsc5_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc5_oam_net_ip } + ] + + mmsc5_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc5_mms_traffic_net_ip } + ] + + server_nems_fe1: + type: OS::Nova::Server + properties: + name: { get_param: nems_fe1_name } + image: { get_param: nems_fe_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: nems_fe_flavor } + networks: + - port: { get_resource: nems_fe1_port_0 } + - port: { get_resource: nems_fe1_port_1 } + - port: { get_resource: nems_fe1_port_2 } + - port: { get_resource: nems_fe1_port_3 } + - port: { get_resource: nems_fe1_port_4 } + user_data: + str_replace: + template: | + nems.mgmt.ip=${nems.mgmt.ip} + nems.mgmt.netmask=${nems.mgmt.netmask} + nems.mgmt.gateway=${nems.mgmt.gateway} + nems.traffic.ip=${nems.traffic.ip} + nems.traffic.netmask=${nems.traffic.netmask} + nems.traffic.gateway=${nems.traffic.gateway} + nems.fe0.internal.ip=${nems.fe0.internal.ip} + nems.fe1.internal.ip=${nems.fe1.internal.ip} + nems.internal.netmask=${nems.internal.netmask} + nems.internal.gateway=${nems.internal.gateway} + nems.userweb.ip=${nems.userweb.ip} + nems.userweb.netmask=${nems.userweb.netmask} + nems.userweb.gateway=${nems.userweb.gateway} + nems.imap.ip=${nems.imap.ip} + nems.imap.netmask=${nems.imap.netmask} + nems.imap.gateway=${nems.imap.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.be.imap.ip=${nems.be.imap.ip} + nems.mgmt.route.1=${nems.mgmt.route.1} + nems.mgmt.route.2=${nems.mgmt.route.2} + nems.external.dns=${nems.external.dns} + nems.external.ntp=${nems.external.ntp} + nems.node=${nems.node} + params: + ${nems.mgmt.ip}: {get_param: nems_fe1_oam_net_ip} + ${nems.mgmt.netmask}: {get_param: oam_network_netmask} + ${nems.mgmt.gateway}: {get_param: oam_network_gateway} + ${nems.traffic.ip}: {get_param: nems_fe1_nems_traffic_net_ip} + ${nems.traffic.netmask}: {get_param: nems_traffic_netmask} + ${nems.traffic.gateway}: {get_param: nems_traffic_gateway} + ${nems.fe0.internal.ip}: {get_param: nems_fe1_nems_internal_net_ip} + ${nems.fe1.internal.ip}: {get_param: nems_fe2_nems_internal_net_ip} + ${nems.internal.netmask}: {get_param: nems_internal_netmask} + ${nems.internal.gateway}: {get_param: nems_internal_gateway} + ${nems.userweb.ip}: {get_param: nems_fe1_nems_user_web_net_ip} + ${nems.userweb.netmask}: {get_param: nems_user_web_netmask} + ${nems.userweb.gateway}: {get_param: nems_user_web_gateway} + ${nems.imap.ip}: {get_param: nems_fe1_nems_imap_net_ip} + ${nems.imap.netmask}: {get_param: nems_imap_netmask} + ${nems.imap.gateway}: {get_param: nems_imap_gateway} + ${nems.be.internal.ip}: {get_param: nems_be1_nems_internal_net_ip} + ${nems.be.imap.ip}: {get_param: nems_be1_nems_imap_net_ip} + ${nems.mgmt.route.1}: {get_param: oam_network_route_1} + ${nems.mgmt.route.2}: {get_param: oam_network_route_2} + ${nems.external.dns}: {get_param: external_dns} + ${nems.external.ntp}: {get_param: external_ntp} + ${nems.node}: {get_param: nems_fe1_node_role} + user_data_format: RAW + + nems_fe1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_oam_net_ip } + ] + + nems_fe_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: {get_param: oam_net_name} + port_id: {get_resource: nems_fe1_port_0} + + nems_fe1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_traffic_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_nems_traffic_net_ip } + ] + + nems_fe1_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_user_web_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_nems_user_web_net_ip } + ] + + nems_fe1_port_3: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_internal_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_nems_internal_net_ip } + ] + + nems_fe1_port_4: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_imap_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_nems_imap_net_ip } + ] + + server_nems_fe2: + type: OS::Nova::Server + properties: + name: { get_param: nems_fe2_name } + image: { get_param: nems_fe_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: nems_fe_flavor } + networks: + - port: { get_resource: nems_fe2_port_0 } + - port: { get_resource: nems_fe2_port_1 } + - port: { get_resource: nems_fe2_port_2 } + - port: { get_resource: nems_fe2_port_3 } + - port: { get_resource: nems_fe2_port_4 } + user_data: + str_replace: + template: | + nems.mgmt.ip=${nems.mgmt.ip} + nems.mgmt.netmask=${nems.mgmt.netmask} + nems.mgmt.gateway=${nems.mgmt.gateway} + nems.traffic.ip=${nems.traffic.ip} + nems.traffic.netmask=${nems.traffic.netmask} + nems.traffic.gateway=${nems.traffic.gateway} + nems.fe0.internal.ip=${nems.fe0.internal.ip} + nems.fe1.internal.ip=${nems.fe1.internal.ip} + nems.internal.netmask=${nems.internal.netmask} + nems.internal.gateway=${nems.internal.gateway} + nems.userweb.ip=${nems.userweb.ip} + nems.userweb.netmask=${nems.userweb.netmask} + nems.userweb.gateway=${nems.userweb.gateway} + nems.imap.ip=${nems.imap.ip} + nems.imap.netmask=${nems.imap.netmask} + nems.imap.gateway=${nems.imap.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.be.imap.ip=${nems.be.imap.ip} + nems.mgmt.route.1=${nems.mgmt.route.1} + nems.mgmt.route.2=${nems.mgmt.route.2} + nems.external.dns=${nems.external.dns} + nems.external.ntp=${nems.external.ntp} + nems.node=${nems.node} + params: + ${nems.mgmt.ip}: {get_param: nems_fe2_oam_net_ip} + ${nems.mgmt.netmask}: {get_param: oam_network_netmask} + ${nems.mgmt.gateway}: {get_param: oam_network_gateway} + ${nems.traffic.ip}: {get_param: nems_fe2_nems_traffic_net_ip} + ${nems.traffic.netmask}: {get_param: nems_traffic_netmask} + ${nems.traffic.gateway}: {get_param: nems_traffic_gateway} + ${nems.fe0.internal.ip}: {get_param: nems_fe1_nems_internal_net_ip} + ${nems.fe1.internal.ip}: {get_param: nems_fe2_nems_internal_net_ip} + ${nems.internal.netmask}: {get_param: nems_internal_netmask} + ${nems.internal.gateway}: {get_param: nems_internal_gateway} + ${nems.userweb.ip}: {get_param: nems_fe2_nems_user_web_net_ip} + ${nems.userweb.netmask}: {get_param: nems_user_web_netmask} + ${nems.userweb.gateway}: {get_param: nems_user_web_gateway} + ${nems.imap.ip}: {get_param: nems_fe2_nems_imap_net_ip} + ${nems.imap.netmask}: {get_param: nems_imap_netmask} + ${nems.imap.gateway}: {get_param: nems_imap_gateway} + ${nems.be.internal.ip}: {get_param: nems_be2_nems_internal_net_ip} + ${nems.be.imap.ip}: {get_param: nems_be2_nems_imap_net_ip} + ${nems.mgmt.route.1}: {get_param: oam_network_route_1} + ${nems.mgmt.route.2}: {get_param: oam_network_route_2} + ${nems.external.dns}: {get_param: external_dns} + ${nems.external.ntp}: {get_param: external_ntp} + ${nems.node}: {get_param: nems_fe2_node_role} + user_data_format: RAW + + nems_fe2_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_oam_net_ip } + ] + + nems_fe_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: {get_param: oam_net_name} + port_id: {get_resource: nems_fe2_port_0} + + nems_fe2_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_traffic_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_nems_traffic_net_ip } + ] + + nems_fe2_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_user_web_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_nems_user_web_net_ip } + ] + + nems_fe2_port_3: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_internal_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_nems_internal_net_ip } + ] + + nems_fe2_port_4: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_imap_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_nems_imap_net_ip } + ] + + server_nems_be1: + type: OS::Nova::Server + properties: + name: { get_param: nems_be1_name } + image: { get_param: nems_be_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: nems_be_flavor } + networks: + - port: { get_resource: nems_be1_port_0 } + - port: { get_resource: nems_be1_port_1 } + - port: { get_resource: nems_be1_port_2 } + user_data: + str_replace: + template: | + nems.be.mgmt.ip=${nems.be.mgmt.ip} + nems.mgmt.netmask=${nems.mgmt.netmask} + nems.mgmt.gateway=${nems.mgmt.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.internal.netmask=${nems.internal.netmask} + nems.internal.gateway=${nems.internal.gateway} + nems.imap.netmask=${nems.imap.netmask} + nems.imap.gateway=${nems.imap.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.be.imap.ip=${nems.be.imap.ip} + nems.mgmt.route.1=${nems.mgmt.route.1} + nems.mgmt.route.2=${nems.mgmt.route.2} + nems.external.dns=${nems.external.dns} + nems.external.ntp=${nems.external.ntp} + nems.node=${nems.node} + params: + ${nems.be.mgmt.ip}: {get_param: nems_be1_oam_net_ip} + ${nems.mgmt.netmask}: {get_param: oam_network_netmask} + ${nems.mgmt.gateway}: {get_param: oam_network_gateway} + ${nems.be.internal.ip}: {get_param: nems_be1_nems_internal_net_ip} + ${nems.internal.netmask}: {get_param: nems_internal_netmask} + ${nems.internal.gateway}: {get_param: nems_internal_gateway} + ${nems.imap.netmask}: {get_param: nems_imap_netmask} + ${nems.imap.gateway}: {get_param: nems_imap_gateway} + ${nems.be.imap.ip}: {get_param: nems_be1_nems_imap_net_ip} + ${nems.mgmt.route.1}: {get_param: oam_network_route_1} + ${nems.mgmt.route.2}: {get_param: oam_network_route_2} + ${nems.external.dns}: {get_param: external_dns} + ${nems.external.ntp}: {get_param: external_ntp} + ${nems.node}: {get_param: nems_be1_node_role} + user_data_format: RAW + + nems_be1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: nems_be1_oam_net_ip } + ] + + nems_be_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: {get_param: oam_net_name} + port_id: {get_resource: nems_be1_port_0} + + nems_be1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_internal_net } + fixed_ips: [ + "ip_address": { get_param: nems_be1_nems_internal_net_ip } + ] + + nems_be1_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_imap_net } + fixed_ips: [ + "ip_address": { get_param: nems_be1_nems_imap_net_ip } + ] + + server_nems_be2: + type: OS::Nova::Server + properties: + name: { get_param: nems_be2_name } + image: { get_param: nems_be_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: nems_be_flavor } + networks: + - port: { get_resource: nems_be2_port_0 } + - port: { get_resource: nems_be2_port_1 } + - port: { get_resource: nems_be2_port_2 } + user_data: + str_replace: + template: | + nems.be.mgmt.ip=${nems.be.mgmt.ip} + nems.mgmt.netmask=${nems.mgmt.netmask} + nems.mgmt.gateway=${nems.mgmt.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.internal.netmask=${nems.internal.netmask} + nems.internal.gateway=${nems.internal.gateway} + nems.imap.netmask=${nems.imap.netmask} + nems.imap.gateway=${nems.imap.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.be.imap.ip=${nems.be.imap.ip} + nems.mgmt.route.1=${nems.mgmt.route.1} + nems.mgmt.route.2=${nems.mgmt.route.2} + nems.external.dns=${nems.external.dns} + nems.external.ntp=${nems.external.ntp} + nems.node=${nems.node} + params: + ${nems.be.mgmt.ip}: {get_param: nems_be2_oam_net_ip} + ${nems.mgmt.netmask}: {get_param: oam_network_netmask} + ${nems.mgmt.gateway}: {get_param: oam_network_gateway} + ${nems.be.internal.ip}: {get_param: nems_be2_nems_internal_net_ip} + ${nems.internal.netmask}: {get_param: nems_internal_netmask} + ${nems.internal.gateway}: {get_param: nems_internal_gateway} + ${nems.imap.netmask}: {get_param: nems_imap_netmask} + ${nems.imap.gateway}: {get_param: nems_imap_gateway} + ${nems.be.imap.ip}: {get_param: nems_be2_nems_imap_net_ip} + ${nems.mgmt.route.1}: {get_param: oam_network_route_1} + ${nems.mgmt.route.2}: {get_param: oam_network_route_2} + ${nems.external.dns}: {get_param: external_dns} + ${nems.external.ntp}: {get_param: external_ntp} + ${nems.node}: {get_param: nems_be1_node_role} + user_data_format: RAW + + nems_be2_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: nems_be2_oam_net_ip } + ] + + nems_be_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: {get_param: oam_net_name} + port_id: {get_resource: nems_be2_port_0} + + nems_be2_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_internal_net } + fixed_ips: [ + "ip_address": { get_param: nems_be2_nems_internal_net_ip } + ] + + nems_be2_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_imap_net } + fixed_ips: [ + "ip_address": { get_param: nems_be2_nems_imap_net_ip } + ] + + server_eca_oam1: + type: OS::Nova::Server + properties: + name: { get_param: eca_oam1_name } + image: { get_param: eca_oam_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: eca_oam_flavor } + networks: + - port: { get_resource: eca_oam1_port_0 } + - port: { get_resource: eca_oam1_port_1 } + + eca_oam1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: eca_oam1_oam_net_ip } + ] + + eca_oam1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: eca_mgmt_net } + fixed_ips: [ + "ip_address": { get_param: eca_oam1_eca_mgmt_net_ip } + ] + + server_eca_oam2: + type: OS::Nova::Server + properties: + name: { get_param: eca_oam2_name } + image: { get_param: eca_oam_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: eca_oam_flavor } + networks: + - port: { get_resource: eca_oam2_port_0 } + - port: { get_resource: eca_oam2_port_1 } + + eca_oam2_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: eca_oam2_oam_net_ip } + ] + + eca_oam2_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: eca_mgmt_net } + fixed_ips: [ + "ip_address": { get_param: eca_oam2_eca_mgmt_net_ip } + ] + + server_eca_trx1: + type: OS::Nova::Server + properties: + name: { get_param: eca_trx1_name } + image: { get_param: eca_trx_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: eca_trx_flavor } + networks: + - port: { get_resource: eca_trx1_port_0 } + - port: { get_resource: eca_trx1_port_1 } + - port: { get_resource: eca_trx1_port_2 } + + + eca_trx1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: eca_trx1_oam_net_ip } + ] + + eca_trx1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: eca_mgmt_net } + fixed_ips: [ + "ip_address": { get_param: eca_trx1_eca_mgmt_net_ip } + ] + + eca_trx1_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: eca_traffic_net } + fixed_ips: [ + "ip_address": { get_param: eca_trx1_eca_traffic_net_ip } + ] diff --git a/asdc-controller/src/test/resources/resource-examples/network.yaml b/asdc-controller/src/test/resources/resource-examples/network.yaml new file mode 100644 index 0000000..ae10346 --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/network.yaml @@ -0,0 +1,32 @@ +heat_template_version: 2013-05-23 + +description: > + HOT template that creates one COR network (direct). + +parameters: + cor_direct_net_name: + type: string + description: Name of COR direct network + cor_direct_net_cidr: + type: string + description: Direct network address (CIDR notation) + cor_direct_net_gateway: + type: string + description: Direct network gateway address + cor_direct_net_RT: + type: string + description: Direct network route-target (RT) + +resources: + cor_direct_net: + type: OS::Contrail::VirtualNetwork + properties: + name: { get_param: cor_direct_net_name } + route_targets: [ get_param: cor_direct_net_RT ] + + cor_direct_ip_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: cor_direct_net } + cidr: {get_param: cor_direct_net_cidr} + gateway_ip: { get_param: cor_direct_net_gateway } diff --git a/asdc-controller/src/test/resources/resource-examples/simpleTest.yaml b/asdc-controller/src/test/resources/resource-examples/simpleTest.yaml new file mode 100644 index 0000000..8bfda2b --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/simpleTest.yaml @@ -0,0 +1,39 @@ +heat_template_version: 2013-05-23 + +description: > + HOT template that creates one COR network (direct). + +parameters: + cor_direct_net_name: + type: string + description: Name of COR direct network + default: testCorDirectNet + cor_direct_net_cidr: + type: string + description: Direct network address (CIDR notation) + cor_direct_net_gateway: + type: string + description: Direct network gateway address + cor_direct_net_RT: + type: string + description: Direct network route-target (RT) + default: testCorDirectNet + ip_port_snmp_manager: + type: string + default: 162 + description: SNMP manager IP port + + +resources: + cor_direct_net: + type: file:///my_test.yaml + properties: + name: { get_param: cor_direct_net_name } + route_targets: [ get_param: cor_direct_net_RT ] + + cor_direct_ip_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: cor_direct_net } + cidr: {get_param: cor_direct_net_cidr} + gateway_ip: { get_param: cor_direct_net_gateway } diff --git a/asdc-controller/src/test/resources/resource-examples/simpleTestWithoutParam.yaml b/asdc-controller/src/test/resources/resource-examples/simpleTestWithoutParam.yaml new file mode 100644 index 0000000..0a2db2b --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/simpleTestWithoutParam.yaml @@ -0,0 +1,18 @@ +heat_template_version: 2013-05-23 + +description: > + HOT template that creates one COR network (direct). + +resources: + cor_direct_net: + type: file:///my_test.yaml + properties: + name: { get_param: cor_direct_net_name } + route_targets: [ get_param: cor_direct_net_RT ] + + cor_direct_ip_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: cor_direct_net } + cidr: {get_param: cor_direct_net_cidr} + gateway_ip: { get_param: cor_direct_net_gateway } diff --git a/asdc-controller/src/test/resources/resource-examples/vnf.yaml b/asdc-controller/src/test/resources/resource-examples/vnf.yaml new file mode 100644 index 0000000..d4420de --- /dev/null +++ b/asdc-controller/src/test/resources/resource-examples/vnf.yaml @@ -0,0 +1,1449 @@ +heat_template_version: 2013-05-23 + +description: > + HOT template that creates internal networks, load balancers and servers for vMMSC. + +parameters: + oam_net_name: + type: string + description: UID of OAM network + oam_network_netmask: + type: string + label: oam network netmask + description: oam network gateway + oam_network_gateway: + type: string + label: oam network gateway + description: oam network gateway + oam_network_route_1: + type: string + label: oam network route 1 + description: oam network route 1 + oam_network_route_2: + type: string + label: oam network route 2 + description: oam network route 2 + external_dns: + type: string + label: dns server + description: dns server for MMSC + external_ntp: + type: string + label: ntp server + description: ntp server for MMSC + lb1_oam_net_ip: + type: string + label: management network ip for mmsc + description: the ip of the management network for mmsc + lb2_oam_net_ip: + type: string + label: management network ip for mmsc + description: the ip of the management network for mmsc + dmz_protected_net: + type: string + description: UID of dmz_protected network + dmz_protected_net_local_ip1: + type: string + label: mmsc dmz protected network local ip1 + description: the local ip1 of the mmsc dmz protected network + dmz_protected_net_local_ip2: + type: string + label: mmsc dmz protected network local ip2 + description: the local ip2 of the mmsc dmz protected network + dmz_protected_net_floating_ip: + type: string + label: mmsc dmz protected floating ip + description: mmsc dmz direct floating ip + cor_direct_net: + type: string + label: cor direct net UID + description: cor direct net + cor_direct_net_local_ip1: + type: string + label: mmsc cor direct network local ip1 + description: the local ip1 of the mmsc cor direct network + cor_direct_net_local_ip2: + type: string + label: mmsc cor direct network local ip2 + description: the local ip2 of the mmsc cor direct network + cor_direct_net_floating_ip: + type: string + label: mmsc cor direct floating ip + description: mmsc cor direct floating ip + mms_traffic_net_name: + type: string + description: Name of MMS traffic network + mms_traffic_net_cidr: + type: string + description: MMS traffic network address (CIDR notation) + mms_traffic_netmask: + type: string + description: MMS traffic network subnet mask + mms_traffic_net_gateway: + type: string + description: MMS traffic network gateway address + mms_traffic_start: + type: string + label: mmsc traffic start IP + description: mmsc traffic start IP + mms_traffic_end: + type: string + label: mmsc traffic end IP + description: mmsc traffic end IP + mms_traffic_net_cidr: + type: string + label: mmsc traffic cidr + description: mmsc traffic cidr + mms_traffic_net_local_ip1: + type: string + label: mmsc traffic network local ip1 + description: the local ip1 of the mmsc traffic network + mms_traffic_net_local_ip2: + type: string + label: mmsc traffic network local ip2 + description: the local ip2 of the mmsc traffic network + mms_traffic_net_floating_ip: + type: string + label: mmsc traffic floating ip + description: mmsc traffic floating ip + nems_internal_name: + type: string + label: nems internal network name + description: nems internal network name + nems_internal_start: + type: string + label: nems internal start + description: nems internal start + nems_internal_end: + type: string + label: nems internal end + description: nems internal end + nems_internal_cidr: + type: string + label: nems ineternal cidr + description: nems internal cidr + nems_internal_netmask: + type: string + description: NEMS internal network subnet mask + nems_internal_gateway: + type: string + label: nems internal gw + description: nems internal gw + nems_traffic_name: + type: string + label: nems traffic name + description: nems traffic name + nems_traffic_start: + type: string + label: nems traffic start + description: nems traffic start + nems_traffic_end: + type: string + label: nems traffic end + description: nems traffic end + nems_traffic_cidr: + type: string + label: nems traffic cidr + description: nems traffic cidr + nems_traffic_netmask: + type: string + description: NEMS traffic network subnet mask + nems_traffic_gateway: + type: string + description: NEMS traffic network gateway + nems_traffic_net_local_ip1: + type: string + label: nems traffic network local ip1 + description: the local ip1 of the nems traffic network + nems_traffic_net_local_ip2: + type: string + label: nems traffic network local ip2 + description: the local ip2 of the nems traffic network + nems_traffic_net_floating_ip: + type: string + label: nems traffic floating ip + description: nems traffic floating ip + nems_user_web_name: + type: string + label: nems user web name + description: nems user web name + nems_user_web_start: + type: string + label: nems user web start + description: nems user web end + nems_user_web_end: + type: string + label: nems user web end + description: nems user web end + nems_user_web_cidr: + type: string + label: nems user web cidr + description: nems user web cidr + nems_user_web_netmask: + type: string + description: NEMS user web network subnet mask + nems_user_web_gateway: + type: string + description: NEMS user web network gateway + nems_user_web_net_local_ip1: + type: string + label: nems user web network local ip1 + description: the local ip1 of the nems user web network + nems_user_web_net_local_ip2: + type: string + label: nems user web network local ip2 + description: the local ip2 of the nems user web network + nems_user_web_net_floating_ip: + type: string + label: nems user web floating ip + description: nems user web floating ip + nems_imap_name: + type: string + label: nems imap name + description: nems imap name + nems_imap_netmask: + type: string + label: nems imap subnet mask + description: nems imap subnet mask + nems_imap_start: + type: string + label: nems imap start + description: nems imap start + nems_imap_end: + type: string + label: nems imap end + description: nems imap end + nems_imap_cidr: + type: string + label: nems imap cidr + description: nems imap cidr + nems_imap_gateway: + type: string + label: nems imap gateway + description: nems imap gateway + eca_traffic_name: + type: string + label: eca traffic name + description: eca traffic name + eca_traffic_start: + type: string + label: eca traffic start + description: eca traffic start + eca_traffic_end: + type: string + label: eca traffic end + description: eca traffic end + eca_traffic_cidr: + type: string + label: eca traffic cidr + description: eca traffic cidr + eca_traffic_netmask: + type: string + description: ECA traffic network subnet mask + eca_traffic_net_local_ip1: + type: string + label: eca traffic network local ip1 + description: the local ip1 of the eca traffic network + eca_traffic_net_local_ip2: + type: string + label: eca traffic network local ip2 + description: the local ip2 of the eca traffic network + eca_traffic_net_floating_ip: + type: string + label: eca traffic floating ip + description: eca traffic floating ip + eca_mgmt_name: + type: string + label: eca management name + description: eca management name + eca_mgmt_start: + type: string + label: eca management start + description: eca management start + eca_mgmt_end: + type: string + label: eca management end + description: eca management end + eca_mgmt_cidr: + type: string + label: eca management cidr + description: eca management cidr + eca_mgmt_netmask: + type: string + description: ECA mgmt network subnet mask + ha_net_name: + type: string + label: ha_failover network name + description: ha_failover network name + ha_net_start: + type: string + label: ha net start + description: ha net start + ha_net_end: + type: string + label: ha net end + description: ha net end + ha_net_cidr: + type: string + label: ha net cidr + description: ha net cidr + ha_net_local_ip1: + type: string + label: ha net network local ip1 + description: the local ip1 of the ha network + ha_net_local_ip2: + type: string + label: ha net network local ip2 + description: the local ip2 of the ha network + lb1_name: + type: string + label: MMSC load balancer instance name + description: MMSC load balancer instance name + lb_image_name: + type: string + label: MMSC load balancer image name + description: MMSC load balancer image name + lb_flavor_name: + type: string + label: Load balancer flavor name + description: the flavor name of MMSC load balancer instance + lb1_name: + type: string + label: MMSC load balancer1 instance name + description: MMSC load balancer1 instance name + lb2_name: + type: string + label: MMSC load balancer2 instance name + description: MMSC load balancer2 instance name + availabilityzone_name: + type: string + label: MMSC availabilityzone name + description: MMSC availabilityzone name + security_group_name: + type: string + label: MMSC security group name + description: MMSC security group name + mmsc_image: + type: string + description: Image for MMSC server + mmsc_flavor: + type: string + description: Flavor for MMSC server +# mmsc_cinder_volume_size: +# type: number +# label: MMSC Cinder volume size +# description: the size of the MMSC Cinder volume + nems_fe_image: + type: string + description: Image for NEMS FE server + nems_fe_flavor: + type: string + description: Flavor for NEMS FE server + nems_be_image: + type: string + description: Image for NEMS BE server + nems_be_flavor: + type: string + description: Flavor for NEMS BE server + eca_trx_image: + type: string + description: Image for ECA TRX server + eca_trx_flavor: + type: string + description: Flavor for ECA TRX server + eca_oam_image: + type: string + description: Image for ECA OAM server + eca_oam_flavor: + type: string + description: Flavor for ECA OAM server + cmaui_name: + type: string + description: CMAUI server name + cmaui_image: + type: string + description: Image for CMAUI server + cmaui_flavor: + type: string + description: Flavor for CMAUI server +# cmaui_cinder_volume_size: +# type: number +# label: CMAUI Cinder volume size +# description: the size of the CMAUI Cinder volume + mmsc1_name: + type: string + description: MMSC1 server name + mmsc1_oam_net_ip: + type: string + description: OAM_net IP for MMSC1 + mmsc1_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC1 + mmsc2_name: + type: string + description: MMSC2 server name + mmsc2_oam_net_ip: + type: string + description: OAM_net IP for MMSC2 + mmsc2_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC2 + mmsc3_name: + type: string + description: MMSC3 server name + mmsc3_oam_net_ip: + type: string + description: OAM_net IP for MMSC3 + mmsc3_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC3 + mmsc4_name: + type: string + description: MMSC4 server name + mmsc4_oam_net_ip: + type: string + description: OAM_net IP for MMSC4 + mmsc4_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC4 + mmsc5_name: + type: string + description: MMSC5 server name + mmsc5_oam_net_ip: + type: string + description: OAM_net IP for MMSC5 + mmsc5_mms_traffic_net_ip: + type: string + description: mms_traffic_net IP for MMSC5 + nems_fe1_name: + type: string + description: NEMS_FE1 server name + nems_fe1_node_role: + type: string + label: nems node role + description: nems node role + nems_fe1_oam_net_ip: + type: string + description: OAM_net IP for NEMS_FE1 + nems_fe1_nems_traffic_net_ip: + type: string + description: nems_traffic_net IP for NEMS_FE1 + nems_fe1_nems_user_web_net_ip: + type: string + description: nems_web_user_net IP for NEMS_FE1 + nems_fe1_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_FE1 + nems_fe1_nems_imap_net_ip: + type: string + description: nems_imap_net IP for NEMS_FE1 + nems_fe2_name: + type: string + description: NEMS_FE2 server name + nems_fe2_node_role: + type: string + label: nems node role + description: nems node role + nems_fe2_oam_net_ip: + type: string + description: OAM_net IP for NEMS_FE2 + nems_fe2_nems_traffic_net_ip: + type: string + description: nems_traffic_net IP for NEMS_FE2 + nems_fe2_nems_user_web_net_ip: + type: string + description: nems_web_user_net IP for NEMS_FE2 + nems_fe2_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_FE2 + nems_fe2_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_FE2 + nems_fe2_nems_imap_net_ip: + type: string + description: nems_imap_net IP for NEMS_FE2 + nems_be1_name: + type: string + description: NEMS_BE2 server name + nems_be1_node_role: + type: string + label: nems node role + description: nems node role + nems_be1_oam_net_ip: + type: string + description: OAM_net IP for NEMS_BE1 + nems_be1_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_BE1 + nems_be1_nems_imap_net_ip: + type: string + description: nems_imap_net IP for NEMS_BE1 + nems_be2_name: + type: string + description: NEMS_BE2 server name + nems_be2_node_role: + type: string + label: nems node role + description: nems node role + nems_be2_oam_net_ip: + type: string + description: OAM_net IP for NEMS_BE2 + nems_be2_nems_internal_net_ip: + type: string + description: nems_internal_net IP for NEMS_BE2 + nems_be2_nems_imap_net_ip: + type: string + description: nems_imap_net IP for NEMS_BE2 + eca_oam1_name: + type: string + description: ECA_OAM1 server name + eca_oam1_oam_net_ip: + type: string + description: OAM_net IP for ECA_OAM1 + eca_oam1_eca_mgmt_net_ip: + type: string + description: eca_mgmt_net IP for ECA_OAM1 + eca_oam2_name: + type: string + description: ECA_OAM2 server name + eca_oam2_oam_net_ip: + type: string + description: OAM_net IP for ECA_OAM2 + eca_oam2_eca_mgmt_net_ip: + type: string + description: eca_mgmt_net IP for ECA_OAM2 + eca_trx1_name: + type: string + description: ECA_TRX1 server name + eca_trx1_oam_net_ip: + type: string + description: OAM_net IP for ECA_TRX1 + eca_trx1_eca_mgmt_net_ip: + type: string + description: eca_mgmt_net IP for ECA_TRX1 + eca_trx1_eca_traffic_net_ip: + type: string + description: eca_traffic_net IP for ECA_TRX1 + cmaui_oam_net_ip: + type: string + description: eca_mgmt_net IP for CMAUI + +resources: + mms_security_group: + type: OS::Neutron::SecurityGroup + properties: + description: mmsc security group + name: {get_param: security_group_name} + rules: [{"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": egress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0}, + {"direction": ingress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0} + ] + + lb1_instance: + type: OS::Nova::Server + properties: + name: {get_param: lb1_name} + image: {get_param: lb_image_name} + flavor: {get_param: lb_flavor_name} + availability_zone: {get_param: availabilityzone_name} + networks: + - port: {get_resource: lb1_mgmt_port} + - port: {get_resource: lb1_dmz_protected_port} + - port: {get_resource: lb1_cor_direct_port} + - port: {get_resource: lb1_mms_traffic_port} + - port: {get_resource: lb1_nems_traffic_port} + - port: {get_resource: lb1_nems_user_web_port} + - port: {get_resource: lb1_eca_traffic_port} + - port: {get_resource: lb1_ha_net_port} + + lb1_mgmt_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: oam_net_name} + fixed_ips: [{"ip_address": {get_param: lb1_oam_net_ip}}] + security_groups: [{get_resource: mms_security_group}] + + lb1_mms_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: mms_traffic_net} + fixed_ips: [{"ip_address": {get_param: mms_traffic_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: mms_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_dmz_protected_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: dmz_protected_net} + fixed_ips: [{"ip_address": {get_param: dmz_protected_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: dmz_protected_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_cor_direct_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: cor_direct_net} + fixed_ips: [{"ip_address": {get_param: cor_direct_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: cor_direct_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_nems_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: nems_traffic_net} + fixed_ips: [{"ip_address": {get_param: nems_traffic_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: nems_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_nems_user_web_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: nems_user_web_net} + fixed_ips: [{"ip_address": {get_param: nems_user_web_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: nems_user_web_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb1_ha_net_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: ha_net} + fixed_ips: [{"ip_address": {get_param: ha_net_local_ip1}}] + + lb1_eca_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: eca_traffic_net} + fixed_ips: [{"ip_address": {get_param: eca_traffic_net_local_ip1}}] + allowed_address_pairs: [{"ip_address": {get_param: eca_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_instance: + type: OS::Nova::Server + properties: + name: {get_param: lb2_name} + image: {get_param: lb_image_name} + flavor: {get_param: lb_flavor_name} + availability_zone: {get_param: availabilityzone_name} + networks: + - port: {get_resource: lb2_mgmt_port} + - port: {get_resource: lb2_dmz_protected_port} + - port: {get_resource: lb2_cor_direct_port} + - port: {get_resource: lb2_mms_traffic_port} + - port: {get_resource: lb2_nems_traffic_port} + - port: {get_resource: lb2_nems_user_web_port} + - port: {get_resource: lb2_eca_traffic_port} + - port: {get_resource: lb2_ha_net_port} + + lb2_mgmt_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: oam_net_name} + fixed_ips: [{"ip_address": {get_param: lb2_oam_net_ip}}] + security_groups: [{get_resource: mms_security_group}] + + lb2_mms_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: mms_traffic_net} + fixed_ips: [{"ip_address": {get_param: mms_traffic_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: mms_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_dmz_protected_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: dmz_protected_net} + fixed_ips: [{"ip_address": {get_param: dmz_protected_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: dmz_protected_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_cor_direct_port: + type: OS::Neutron::Port + properties: + network_id: {get_param: cor_direct_net} + fixed_ips: [{"ip_address": {get_param: cor_direct_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: cor_direct_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_nems_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: nems_traffic_net} + fixed_ips: [{"ip_address": {get_param: nems_traffic_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: nems_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_nems_user_web_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: nems_user_web_net} + fixed_ips: [{"ip_address": {get_param: nems_user_web_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: nems_user_web_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + lb2_ha_net_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: ha_net} + fixed_ips: [{"ip_address": {get_param: ha_net_local_ip2}}] + + lb2_eca_traffic_port: + type: OS::Neutron::Port + properties: + network_id: {get_resource: eca_traffic_net} + fixed_ips: [{"ip_address": {get_param: eca_traffic_net_local_ip2}}] + allowed_address_pairs: [{"ip_address": {get_param: eca_traffic_net_floating_ip} }] + security_groups: [{get_resource: mms_security_group}] + + server_mmsc1: + type: OS::Nova::Server + properties: + name: { get_param: mmsc1_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc1_port_0 } + - port: { get_resource: mmsc1_port_1 } + user_data: + str_replace: + template: | + mmsc.mgmt.ip=${mmsc.mgmt.ip} + mmsc.mgmt.netmask=${mmsc.mgmt.netmask} + mmsc.mgmt.gateway=${mmsc.mgmt.gateway} + mmsc.traffic.ip=${mmsc.traffic.ip} + mmsc.traffic.netmask=${mmsc.traffic.netmask} + mmsc.traffic.gateway=${mmsc.traffic.gateway} + mmsc.mgmt.route.1=${mmsc.mgmt.route.1} + mmsc.mgmt.route.2=${mmsc.mgmt.route.2} + mmsc.external.dns=${mmsc.external.dns} + mmsc.external.ntp=${mmsc.external.ntp} + params: + ${mmsc.mgmt.ip}: {get_param: mmsc1_oam_net_ip} + ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask} + ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway} + ${mmsc.traffic.ip}: {get_param: mmsc1_mms_traffic_net_ip} + ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask} + ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway} + ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1} + ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2} + ${mmsc.external.dns}: {get_param: external_dns} + ${mmsc.external.ntp}: {get_param: external_ntp} + user_data_format: RAW +# mmsc1_volume: +# type: OS::Cinder::Volume +# properties: +# size: {get_param: mmsc_cinder_volume_size} + +# mmsc1_volume_attachment: +# type: OS::Cinder::VolumeAttachment +# properties: +# volume_id: {get_resource: mmsc1_volume} +# instance_uuid: {get_resource: server_mmsc1} + + mmsc1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc1_oam_net_ip } + ] + + mmsc1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc1_mms_traffic_net_ip } + ] + + server_mmsc2: + type: OS::Nova::Server + properties: + name: { get_param: mmsc2_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc2_port_0 } + - port: { get_resource: mmsc2_port_1 } + user_data: + str_replace: + template: | + mmsc.mgmt.ip=${mmsc.mgmt.ip} + mmsc.mgmt.netmask=${mmsc.mgmt.netmask} + mmsc.mgmt.gateway=${mmsc.mgmt.gateway} + mmsc.traffic.ip=${mmsc.traffic.ip} + mmsc.traffic.netmask=${mmsc.traffic.netmask} + mmsc.traffic.gateway=${mmsc.traffic.gateway} + mmsc.mgmt.route.1=${mmsc.mgmt.route.1} + mmsc.mgmt.route.2=${mmsc.mgmt.route.2} + mmsc.external.dns=${mmsc.external.dns} + mmsc.external.ntp=${mmsc.external.ntp} + params: + ${mmsc.mgmt.ip}: {get_param: mmsc2_oam_net_ip} + ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask} + ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway} + ${mmsc.traffic.ip}: {get_param: mmsc2_mms_traffic_net_ip} + ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask} + ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway} + ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1} + ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2} + ${mmsc.external.dns}: {get_param: external_dns} + ${mmsc.external.ntp}: {get_param: external_ntp} + user_data_format: RAW +# mmsc2_volume: +# type: OS::Cinder::Volume +# properties: +# size: {get_param: mmsc_cinder_volume_size} + +# mmsc2_volume_attachment: +# type: OS::Cinder::VolumeAttachment +# properties: +# volume_id: {get_resource: mmsc2_volume} +# instance_uuid: {get_resource: server_mmsc2} + + mmsc2_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc2_oam_net_ip } + ] + + mmsc2_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc2_mms_traffic_net_ip } + ] + + server_mmsc3: + type: OS::Nova::Server + properties: + name: { get_param: mmsc3_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc3_port_0 } + - port: { get_resource: mmsc3_port_1 } + user_data: + str_replace: + template: | + mmsc.mgmt.ip=${mmsc.mgmt.ip} + mmsc.mgmt.netmask=${mmsc.mgmt.netmask} + mmsc.mgmt.gateway=${mmsc.mgmt.gateway} + mmsc.traffic.ip=${mmsc.traffic.ip} + mmsc.traffic.netmask=${mmsc.traffic.netmask} + mmsc.traffic.gateway=${mmsc.traffic.gateway} + mmsc.mgmt.route.1=${mmsc.mgmt.route.1} + mmsc.mgmt.route.2=${mmsc.mgmt.route.2} + mmsc.external.dns=${mmsc.external.dns} + mmsc.external.ntp=${mmsc.external.ntp} + params: + ${mmsc.mgmt.ip}: {get_param: mmsc3_oam_net_ip} + ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask} + ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway} + ${mmsc.traffic.ip}: {get_param: mmsc3_mms_traffic_net_ip} + ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask} + ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway} + ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1} + ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2} + ${mmsc.external.dns}: {get_param: external_dns} + ${mmsc.external.ntp}: {get_param: external_ntp} + user_data_format: RAW + + mmsc3_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc3_oam_net_ip } + ] + + mmsc3_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc3_mms_traffic_net_ip } + ] + + server_mmsc4: + type: OS::Nova::Server + properties: + name: { get_param: mmsc4_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc4_port_0 } + - port: { get_resource: mmsc4_port_1 } + user_data: + str_replace: + template: | + mmsc.mgmt.ip=${mmsc.mgmt.ip} + mmsc.mgmt.netmask=${mmsc.mgmt.netmask} + mmsc.mgmt.gateway=${mmsc.mgmt.gateway} + mmsc.traffic.ip=${mmsc.traffic.ip} + mmsc.traffic.netmask=${mmsc.traffic.netmask} + mmsc.traffic.gateway=${mmsc.traffic.gateway} + mmsc.mgmt.route.1=${mmsc.mgmt.route.1} + mmsc.mgmt.route.2=${mmsc.mgmt.route.2} + mmsc.external.dns=${mmsc.external.dns} + mmsc.external.ntp=${mmsc.external.ntp} + params: + ${mmsc.mgmt.ip}: {get_param: mmsc4_oam_net_ip} + ${mmsc.mgmt.netmask}: {get_param: oam_network_netmask} + ${mmsc.mgmt.gateway}: {get_param: oam_network_gateway} + ${mmsc.traffic.ip}: {get_param: mmsc4_mms_traffic_net_ip} + ${mmsc.traffic.netmask}: {get_param: mms_traffic_netmask} + ${mmsc.traffic.gateway}: {get_param: mms_traffic_net_gateway} + ${mmsc.mgmt.route.1}: {get_param: oam_network_route_1} + ${mmsc.mgmt.route.2}: {get_param: oam_network_route_2} + ${mmsc.external.dns}: {get_param: external_dns} + ${mmsc.external.ntp}: {get_param: external_ntp} + user_data_format: RAW + + mmsc4_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc4_oam_net_ip } + ] + + mmsc4_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc4_mms_traffic_net_ip } + ] + + server_mmsc5: + type: OS::Nova::Server + properties: + name: { get_param: mmsc5_name } + image: { get_param: mmsc_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: mmsc_flavor } + networks: + - port: { get_resource: mmsc5_port_0 } + - port: { get_resource: mmsc5_port_1 } + + mmsc5_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: mmsc5_oam_net_ip } + ] + + mmsc5_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: mms_traffic_net } + fixed_ips: [ + "ip_address": { get_param: mmsc5_mms_traffic_net_ip } + ] + + server_nems_fe1: + type: OS::Nova::Server + properties: + name: { get_param: nems_fe1_name } + image: { get_param: nems_fe_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: nems_fe_flavor } + networks: + - port: { get_resource: nems_fe1_port_0 } + - port: { get_resource: nems_fe1_port_1 } + - port: { get_resource: nems_fe1_port_2 } + - port: { get_resource: nems_fe1_port_3 } + - port: { get_resource: nems_fe1_port_4 } + user_data: + str_replace: + template: | + nems.mgmt.ip=${nems.mgmt.ip} + nems.mgmt.netmask=${nems.mgmt.netmask} + nems.mgmt.gateway=${nems.mgmt.gateway} + nems.traffic.ip=${nems.traffic.ip} + nems.traffic.netmask=${nems.traffic.netmask} + nems.traffic.gateway=${nems.traffic.gateway} + nems.fe0.internal.ip=${nems.fe0.internal.ip} + nems.fe1.internal.ip=${nems.fe1.internal.ip} + nems.internal.netmask=${nems.internal.netmask} + nems.internal.gateway=${nems.internal.gateway} + nems.userweb.ip=${nems.userweb.ip} + nems.userweb.netmask=${nems.userweb.netmask} + nems.userweb.gateway=${nems.userweb.gateway} + nems.imap.ip=${nems.imap.ip} + nems.imap.netmask=${nems.imap.netmask} + nems.imap.gateway=${nems.imap.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.be.imap.ip=${nems.be.imap.ip} + nems.mgmt.route.1=${nems.mgmt.route.1} + nems.mgmt.route.2=${nems.mgmt.route.2} + nems.external.dns=${nems.external.dns} + nems.external.ntp=${nems.external.ntp} + nems.node=${nems.node} + params: + ${nems.mgmt.ip}: {get_param: nems_fe1_oam_net_ip} + ${nems.mgmt.netmask}: {get_param: oam_network_netmask} + ${nems.mgmt.gateway}: {get_param: oam_network_gateway} + ${nems.traffic.ip}: {get_param: nems_fe1_nems_traffic_net_ip} + ${nems.traffic.netmask}: {get_param: nems_traffic_netmask} + ${nems.traffic.gateway}: {get_param: nems_traffic_gateway} + ${nems.fe0.internal.ip}: {get_param: nems_fe1_nems_internal_net_ip} + ${nems.fe1.internal.ip}: {get_param: nems_fe2_nems_internal_net_ip} + ${nems.internal.netmask}: {get_param: nems_internal_netmask} + ${nems.internal.gateway}: {get_param: nems_internal_gateway} + ${nems.userweb.ip}: {get_param: nems_fe1_nems_user_web_net_ip} + ${nems.userweb.netmask}: {get_param: nems_user_web_netmask} + ${nems.userweb.gateway}: {get_param: nems_user_web_gateway} + ${nems.imap.ip}: {get_param: nems_fe1_nems_imap_net_ip} + ${nems.imap.netmask}: {get_param: nems_imap_netmask} + ${nems.imap.gateway}: {get_param: nems_imap_gateway} + ${nems.be.internal.ip}: {get_param: nems_be1_nems_internal_net_ip} + ${nems.be.imap.ip}: {get_param: nems_be1_nems_imap_net_ip} + ${nems.mgmt.route.1}: {get_param: oam_network_route_1} + ${nems.mgmt.route.2}: {get_param: oam_network_route_2} + ${nems.external.dns}: {get_param: external_dns} + ${nems.external.ntp}: {get_param: external_ntp} + ${nems.node}: {get_param: nems_fe1_node_role} + user_data_format: RAW + + nems_fe1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_oam_net_ip } + ] + + nems_fe_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: {get_param: oam_net_name} + port_id: {get_resource: nems_fe1_port_0} + + nems_fe1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_traffic_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_nems_traffic_net_ip } + ] + + nems_fe1_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_user_web_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_nems_user_web_net_ip } + ] + + nems_fe1_port_3: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_internal_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_nems_internal_net_ip } + ] + + nems_fe1_port_4: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_imap_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe1_nems_imap_net_ip } + ] + + server_nems_fe2: + type: OS::Nova::Server + properties: + name: { get_param: nems_fe2_name } + image: { get_param: nems_fe_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: nems_fe_flavor } + networks: + - port: { get_resource: nems_fe2_port_0 } + - port: { get_resource: nems_fe2_port_1 } + - port: { get_resource: nems_fe2_port_2 } + - port: { get_resource: nems_fe2_port_3 } + - port: { get_resource: nems_fe2_port_4 } + user_data: + str_replace: + template: | + nems.mgmt.ip=${nems.mgmt.ip} + nems.mgmt.netmask=${nems.mgmt.netmask} + nems.mgmt.gateway=${nems.mgmt.gateway} + nems.traffic.ip=${nems.traffic.ip} + nems.traffic.netmask=${nems.traffic.netmask} + nems.traffic.gateway=${nems.traffic.gateway} + nems.fe0.internal.ip=${nems.fe0.internal.ip} + nems.fe1.internal.ip=${nems.fe1.internal.ip} + nems.internal.netmask=${nems.internal.netmask} + nems.internal.gateway=${nems.internal.gateway} + nems.userweb.ip=${nems.userweb.ip} + nems.userweb.netmask=${nems.userweb.netmask} + nems.userweb.gateway=${nems.userweb.gateway} + nems.imap.ip=${nems.imap.ip} + nems.imap.netmask=${nems.imap.netmask} + nems.imap.gateway=${nems.imap.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.be.imap.ip=${nems.be.imap.ip} + nems.mgmt.route.1=${nems.mgmt.route.1} + nems.mgmt.route.2=${nems.mgmt.route.2} + nems.external.dns=${nems.external.dns} + nems.external.ntp=${nems.external.ntp} + nems.node=${nems.node} + params: + ${nems.mgmt.ip}: {get_param: nems_fe2_oam_net_ip} + ${nems.mgmt.netmask}: {get_param: oam_network_netmask} + ${nems.mgmt.gateway}: {get_param: oam_network_gateway} + ${nems.traffic.ip}: {get_param: nems_fe2_nems_traffic_net_ip} + ${nems.traffic.netmask}: {get_param: nems_traffic_netmask} + ${nems.traffic.gateway}: {get_param: nems_traffic_gateway} + ${nems.fe0.internal.ip}: {get_param: nems_fe1_nems_internal_net_ip} + ${nems.fe1.internal.ip}: {get_param: nems_fe2_nems_internal_net_ip} + ${nems.internal.netmask}: {get_param: nems_internal_netmask} + ${nems.internal.gateway}: {get_param: nems_internal_gateway} + ${nems.userweb.ip}: {get_param: nems_fe2_nems_user_web_net_ip} + ${nems.userweb.netmask}: {get_param: nems_user_web_netmask} + ${nems.userweb.gateway}: {get_param: nems_user_web_gateway} + ${nems.imap.ip}: {get_param: nems_fe2_nems_imap_net_ip} + ${nems.imap.netmask}: {get_param: nems_imap_netmask} + ${nems.imap.gateway}: {get_param: nems_imap_gateway} + ${nems.be.internal.ip}: {get_param: nems_be2_nems_internal_net_ip} + ${nems.be.imap.ip}: {get_param: nems_be2_nems_imap_net_ip} + ${nems.mgmt.route.1}: {get_param: oam_network_route_1} + ${nems.mgmt.route.2}: {get_param: oam_network_route_2} + ${nems.external.dns}: {get_param: external_dns} + ${nems.external.ntp}: {get_param: external_ntp} + ${nems.node}: {get_param: nems_fe2_node_role} + user_data_format: RAW + + nems_fe2_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_oam_net_ip } + ] + + nems_fe_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: {get_param: oam_net_name} + port_id: {get_resource: nems_fe2_port_0} + + nems_fe2_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_traffic_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_nems_traffic_net_ip } + ] + + nems_fe2_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_user_web_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_nems_user_web_net_ip } + ] + + nems_fe2_port_3: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_internal_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_nems_internal_net_ip } + ] + + nems_fe2_port_4: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_imap_net } + fixed_ips: [ + "ip_address": { get_param: nems_fe2_nems_imap_net_ip } + ] + + server_nems_be1: + type: OS::Nova::Server + properties: + name: { get_param: nems_be1_name } + image: { get_param: nems_be_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: nems_be_flavor } + networks: + - port: { get_resource: nems_be1_port_0 } + - port: { get_resource: nems_be1_port_1 } + - port: { get_resource: nems_be1_port_2 } + user_data: + str_replace: + template: | + nems.be.mgmt.ip=${nems.be.mgmt.ip} + nems.mgmt.netmask=${nems.mgmt.netmask} + nems.mgmt.gateway=${nems.mgmt.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.internal.netmask=${nems.internal.netmask} + nems.internal.gateway=${nems.internal.gateway} + nems.imap.netmask=${nems.imap.netmask} + nems.imap.gateway=${nems.imap.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.be.imap.ip=${nems.be.imap.ip} + nems.mgmt.route.1=${nems.mgmt.route.1} + nems.mgmt.route.2=${nems.mgmt.route.2} + nems.external.dns=${nems.external.dns} + nems.external.ntp=${nems.external.ntp} + nems.node=${nems.node} + params: + ${nems.be.mgmt.ip}: {get_param: nems_be1_oam_net_ip} + ${nems.mgmt.netmask}: {get_param: oam_network_netmask} + ${nems.mgmt.gateway}: {get_param: oam_network_gateway} + ${nems.be.internal.ip}: {get_param: nems_be1_nems_internal_net_ip} + ${nems.internal.netmask}: {get_param: nems_internal_netmask} + ${nems.internal.gateway}: {get_param: nems_internal_gateway} + ${nems.imap.netmask}: {get_param: nems_imap_netmask} + ${nems.imap.gateway}: {get_param: nems_imap_gateway} + ${nems.be.imap.ip}: {get_param: nems_be1_nems_imap_net_ip} + ${nems.mgmt.route.1}: {get_param: oam_network_route_1} + ${nems.mgmt.route.2}: {get_param: oam_network_route_2} + ${nems.external.dns}: {get_param: external_dns} + ${nems.external.ntp}: {get_param: external_ntp} + ${nems.node}: {get_param: nems_be1_node_role} + user_data_format: RAW + + nems_be1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: nems_be1_oam_net_ip } + ] + + nems_be_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: {get_param: oam_net_name} + port_id: {get_resource: nems_be1_port_0} + + nems_be1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_internal_net } + fixed_ips: [ + "ip_address": { get_param: nems_be1_nems_internal_net_ip } + ] + + nems_be1_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_imap_net } + fixed_ips: [ + "ip_address": { get_param: nems_be1_nems_imap_net_ip } + ] + + server_nems_be2: + type: OS::Nova::Server + properties: + name: { get_param: nems_be2_name } + image: { get_param: nems_be_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: nems_be_flavor } + networks: + - port: { get_resource: nems_be2_port_0 } + - port: { get_resource: nems_be2_port_1 } + - port: { get_resource: nems_be2_port_2 } + user_data: + str_replace: + template: | + nems.be.mgmt.ip=${nems.be.mgmt.ip} + nems.mgmt.netmask=${nems.mgmt.netmask} + nems.mgmt.gateway=${nems.mgmt.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.internal.netmask=${nems.internal.netmask} + nems.internal.gateway=${nems.internal.gateway} + nems.imap.netmask=${nems.imap.netmask} + nems.imap.gateway=${nems.imap.gateway} + nems.be.internal.ip=${nems.be.internal.ip} + nems.be.imap.ip=${nems.be.imap.ip} + nems.mgmt.route.1=${nems.mgmt.route.1} + nems.mgmt.route.2=${nems.mgmt.route.2} + nems.external.dns=${nems.external.dns} + nems.external.ntp=${nems.external.ntp} + nems.node=${nems.node} + params: + ${nems.be.mgmt.ip}: {get_param: nems_be2_oam_net_ip} + ${nems.mgmt.netmask}: {get_param: oam_network_netmask} + ${nems.mgmt.gateway}: {get_param: oam_network_gateway} + ${nems.be.internal.ip}: {get_param: nems_be2_nems_internal_net_ip} + ${nems.internal.netmask}: {get_param: nems_internal_netmask} + ${nems.internal.gateway}: {get_param: nems_internal_gateway} + ${nems.imap.netmask}: {get_param: nems_imap_netmask} + ${nems.imap.gateway}: {get_param: nems_imap_gateway} + ${nems.be.imap.ip}: {get_param: nems_be2_nems_imap_net_ip} + ${nems.mgmt.route.1}: {get_param: oam_network_route_1} + ${nems.mgmt.route.2}: {get_param: oam_network_route_2} + ${nems.external.dns}: {get_param: external_dns} + ${nems.external.ntp}: {get_param: external_ntp} + ${nems.node}: {get_param: nems_be1_node_role} + user_data_format: RAW + + nems_be2_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: nems_be2_oam_net_ip } + ] + + nems_be_floating_ip: + type: OS::Neutron::FloatingIP + properties: + floating_network_id: {get_param: oam_net_name} + port_id: {get_resource: nems_be2_port_0} + + nems_be2_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_internal_net } + fixed_ips: [ + "ip_address": { get_param: nems_be2_nems_internal_net_ip } + ] + + nems_be2_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: nems_imap_net } + fixed_ips: [ + "ip_address": { get_param: nems_be2_nems_imap_net_ip } + ] + + server_eca_oam1: + type: OS::Nova::Server + properties: + name: { get_param: eca_oam1_name } + image: { get_param: eca_oam_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: eca_oam_flavor } + networks: + - port: { get_resource: eca_oam1_port_0 } + - port: { get_resource: eca_oam1_port_1 } + + eca_oam1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: eca_oam1_oam_net_ip } + ] + + eca_oam1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: eca_mgmt_net } + fixed_ips: [ + "ip_address": { get_param: eca_oam1_eca_mgmt_net_ip } + ] + + server_eca_oam2: + type: OS::Nova::Server + properties: + name: { get_param: eca_oam2_name } + image: { get_param: eca_oam_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: eca_oam_flavor } + networks: + - port: { get_resource: eca_oam2_port_0 } + - port: { get_resource: eca_oam2_port_1 } + + eca_oam2_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: eca_oam2_oam_net_ip } + ] + + eca_oam2_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: eca_mgmt_net } + fixed_ips: [ + "ip_address": { get_param: eca_oam2_eca_mgmt_net_ip } + ] + + server_eca_trx1: + type: OS::Nova::Server + properties: + name: { get_param: eca_trx1_name } + image: { get_param: eca_trx_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: eca_trx_flavor } + networks: + - port: { get_resource: eca_trx1_port_0 } + - port: { get_resource: eca_trx1_port_1 } + - port: { get_resource: eca_trx1_port_2 } + + + eca_trx1_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: eca_trx1_oam_net_ip } + ] + + eca_trx1_port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: eca_mgmt_net } + fixed_ips: [ + "ip_address": { get_param: eca_trx1_eca_mgmt_net_ip } + ] + + eca_trx1_port_2: + type: OS::Neutron::Port + properties: + network_id: { get_resource: eca_traffic_net } + fixed_ips: [ + "ip_address": { get_param: eca_trx1_eca_traffic_net_ip } + ] + + server_cmaui: + type: OS::Nova::Server + properties: + name: { get_param: cmaui_name } + image: { get_param: cmaui_image } + availability_zone: { get_param: availabilityzone_name } + flavor: { get_param: cmaui_flavor } + networks: + - port: { get_resource: cmaui_port_0 } + +# cmaui_volume: +# type: OS::Cinder::Volume +# properties: +# size: {get_param: cmaui_cinder_volume_size} + +# cmaui_volume_attachment: +# type: OS::Cinder::VolumeAttachment +# properties: +# volume_id: {get_resource: cmaui_volume} +# instance_uuid: {get_resource: server_cmaui} + + cmaui_port_0: + type: OS::Neutron::Port + properties: + network_id: { get_param: oam_net_name } + fixed_ips: [ + "ip_address": { get_param: cmaui_oam_net_ip } + ] + -- cgit 1.2.3-korg