summaryrefslogtreecommitdiffstats
path: root/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/OnapBlueprintCreatorServiceTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/OnapBlueprintCreatorServiceTest.java')
-rw-r--r--mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/OnapBlueprintCreatorServiceTest.java445
1 files changed, 445 insertions, 0 deletions
diff --git a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/OnapBlueprintCreatorServiceTest.java b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/OnapBlueprintCreatorServiceTest.java
new file mode 100644
index 0000000..866a324
--- /dev/null
+++ b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/test/OnapBlueprintCreatorServiceTest.java
@@ -0,0 +1,445 @@
+/*
+ *
+ * * ============LICENSE_START=======================================================
+ * * org.onap.dcae
+ * * ================================================================================
+ * * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
+ * * Copyright (c) 2020 Nokia. 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.onap.blueprintgenerator.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.nio.file.Paths;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import org.junit.Test;
+import org.junit.jupiter.api.DisplayName;
+import org.onap.blueprintgenerator.constants.Constants;
+import org.onap.blueprintgenerator.model.common.Input;
+import org.onap.blueprintgenerator.model.common.Node;
+import org.onap.blueprintgenerator.model.common.OnapBlueprint;
+import org.onap.blueprintgenerator.model.common.Properties;
+
+/**
+ * @author : Ravi Mantena
+ * @date 10/16/2020 Application: ONAP - Blueprint Generator ONAP Blueprint Test Cases for ONAP and
+ * DMAAP
+ */
+
+
+public class OnapBlueprintCreatorServiceTest extends BlueprintGeneratorTests {
+
+ private String outputfilesPath =
+ Paths.get("src", "test", "resources", "outputfiles").toAbsolutePath().toString();
+
+ /**
+ * Test Case for Service Name Override Component Spec Input File
+ *
+ */
+ @DisplayName("Testing K8s Blueprint for Service Name Override Component Spec Input File")
+ @Test
+ public void testServiceNameOverrideK8sBlueprint() throws IOException {
+ Input input =
+ onapTestUtils.getInput(
+ Paths.get("src", "test", "resources", "componentspecs", ves).toFile()
+ .getAbsolutePath(),
+ outputfilesPath,
+ "testServiceNameOverrideK8sBlueprint",
+ "",
+ "o",
+ "");
+ onapComponentSpec =
+ onapComponentSpecService.createComponentSpecFromFile(input.getComponentSpecPath());
+ assertNotNull(
+ "K8s Blueprint for Service Name Override Component Spec is NULL", onapComponentSpec);
+
+ OnapBlueprint onapBlueprint = onapBlueprintCreatorService.createBlueprint(onapComponentSpec, input);
+ blueprintService.blueprintToYaml(onapComponentSpec, onapBlueprint, input);
+ System.out.println(blueprintService.blueprintToString(onapComponentSpec, onapBlueprint, input));
+
+ onapTestUtils.verifyToscaDefVersion(
+ "Service Name Override K8s", onapBlueprint, Constants.TOSCA_DEF_VERSION);
+ onapTestUtils.verifyBpImports("Service Name Override K8s", onapBlueprint, false);
+
+ Map<String, LinkedHashMap<String, Object>> k8sBpInputs = onapBlueprint.getInputs();
+ assertNotNull("Service Name Override K8s Blueprint Inputs Section is NULL", k8sBpInputs);
+ assertTrue(
+ "Service Name Override K8s Blueprint Inputs Section is Empty", k8sBpInputs.size() > 0);
+
+ assertEquals(
+ "Service Name Override K8s Blueprint:Inputs "
+ + Constants.ONAP_INPUT_CPU_LIMIT
+ + " Default is not matching",
+ k8sBpInputs.get(Constants.ONAP_INPUT_CPU_LIMIT).get("default"),
+ Constants.ONAP_DEFAULT250m);
+ assertEquals(
+ "Service Name Override K8s Blueprint:Inputs "
+ + Constants.SERVICE_COMPONENT_NAME_OVERRIDE
+ + " Default is not matching",
+ k8sBpInputs.get(Constants.SERVICE_COMPONENT_NAME_OVERRIDE).get("default"),
+ Constants.ONAP_SERVICE_COMPONENTNAME_OVERRIDE_DEFAULT);
+
+ Map<String, Node> k8sBpNodeTemplates = onapBlueprint.getNode_templates();
+ assertNotNull(
+ "Service Name Override K8s Blueprint Node Templates Section is NULL in the K8s DMAAP Blueprint",
+ k8sBpNodeTemplates);
+ assertTrue(
+ "Service Name Override K8s Blueprint Node Templates Section Size is Empty",
+ k8sBpNodeTemplates.size() > 0);
+
+ assertEquals(
+ "Service Name Override K8s Blueprint:NodeTemplates:Type is not Matching",
+ k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES).getType(),
+ Constants.ONAP_NODETEMPLATES_TYPE);
+
+ Properties k8sBpNodeTemplateProperties =
+ ((Node) k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES)).getProperties();
+ assertNotNull(
+ "Service Name Override K8s Blueprint Node Templates:Properties Section is NULL",
+ k8sBpNodeTemplateProperties);
+
+ Map<String, LinkedHashMap<String, Object>> bpInputs = onapBlueprint.getInputs();
+ onapTestUtils
+ .verifyArtifacts("Service Name Override K8s", onapComponentSpec, bpInputs, "o");
+
+ onapTestUtils.verifyStreamsPublishes(
+ "Service Name Override K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyStreamsSubscribes(
+ "Service Name Override K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyAuxilary("Service Name Override K8s", onapComponentSpec);
+ onapTestUtils.verifyHealthCheck(
+ "Service Name Override K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyServicesCalls("Service Name Override K8s", onapComponentSpec);
+ onapTestUtils.verifyServicesProvides("Service Name Override K8s", onapComponentSpec);
+ onapTestUtils.verifyDockerConfig(
+ "Service Name Override K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyParameters(
+ "Service Name Override K8s", onapComponentSpec, k8sBpNodeTemplates);
+ onapTestUtils.verifyVolumes(
+ "Service Name Override K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ }
+
+ /**
+ * Test Case for Service Name Override Component Spec Input File with Import File
+ *
+ */
+ @DisplayName(
+ "Testing K8s Blueprint for Service Name Override Component Spec Input File with Import File")
+ @Test
+ public void testServiceNameOverrideImportFileK8sBlueprint() throws IOException {
+ Input input =
+ onapTestUtils.getInput(
+ Paths.get("src", "test", "resources", "componentspecs", ves).toFile()
+ .getAbsolutePath(),
+ "",
+ "",
+ Paths.get("src", "test", "resources", "componentspecs", testImports)
+ .toFile()
+ .getAbsolutePath(),
+ "o",
+ "");
+ onapComponentSpec =
+ onapComponentSpecService.createComponentSpecFromFile(input.getComponentSpecPath());
+ assertNotNull(
+ "K8s Blueprint for Service Name Override with Import File Component Spec is NULL",
+ onapComponentSpec);
+
+ OnapBlueprint onapBlueprint = onapBlueprintCreatorService.createBlueprint(onapComponentSpec, input);
+
+ onapTestUtils.verifyToscaDefVersion(
+ "Service Name Override with Import File K8s", onapBlueprint,
+ Constants.TOSCA_DEF_VERSION);
+ onapTestUtils.verifyBpImportsFromFile(
+ "Service Name Override with Import File K8s", onapBlueprint, input.getImportPath());
+
+ Map<String, LinkedHashMap<String, Object>> k8sBpInputs = onapBlueprint.getInputs();
+ assertNotNull(
+ "Service Name Override with Import File K8s Blueprint Inputs Section is NULL",
+ k8sBpInputs);
+ assertTrue(
+ "Service Name Override with Import File K8s Blueprint Inputs Section is Empty",
+ k8sBpInputs.size() > 0);
+
+ assertEquals(
+ "Service Name Override with Import File K8s Blueprint:Inputs "
+ + Constants.ONAP_INPUT_CPU_LIMIT
+ + " Default is not matching",
+ k8sBpInputs.get(Constants.ONAP_INPUT_CPU_LIMIT).get("default"),
+ Constants.ONAP_DEFAULT250m);
+ assertEquals(
+ "Service Name Override with Import File K8s Blueprint:Inputs "
+ + Constants.SERVICE_COMPONENT_NAME_OVERRIDE
+ + " Default is not matching",
+ k8sBpInputs.get(Constants.SERVICE_COMPONENT_NAME_OVERRIDE).get("default"),
+ Constants.ONAP_SERVICE_COMPONENTNAME_OVERRIDE_DEFAULT);
+
+ Map<String, Node> k8sBpNodeTemplates = onapBlueprint.getNode_templates();
+ assertNotNull(
+ "Service Name Override with Import File K8s Blueprint Node Templates Section is NULL in the K8s DMAAP Blueprint",
+ k8sBpNodeTemplates);
+ assertTrue(
+ "Service Name Override with Import File K8s Blueprint Node Templates Section Size is Empty",
+ k8sBpNodeTemplates.size() > 0);
+
+ assertEquals(
+ "Service Name Override with Import File K8s Blueprint:NodeTemplates:Type is not Matching",
+ k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES).getType(),
+ Constants.ONAP_NODETEMPLATES_TYPE);
+
+ Properties k8sBpNodeTemplateProperties =
+ ((Node) k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES)).getProperties();
+ assertNotNull(
+ "Service Name Override with Import File K8s Blueprint Node Templates:Properties Section is NULL",
+ k8sBpNodeTemplateProperties);
+
+ Map<String, LinkedHashMap<String, Object>> bpInputs = onapBlueprint.getInputs();
+ onapTestUtils.verifyArtifacts(
+ "Service Name Override with Import File K8s", onapComponentSpec, bpInputs, "o");
+
+ onapTestUtils.verifyStreamsPublishes(
+ "Service Name Override with Import File K8s",
+ onapComponentSpec,
+ k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyStreamsSubscribes(
+ "Service Name Override with Import File K8s",
+ onapComponentSpec,
+ k8sBpNodeTemplateProperties);
+ onapTestUtils
+ .verifyAuxilary("Service Name Override with Import File K8s", onapComponentSpec);
+ onapTestUtils.verifyHealthCheck(
+ "Service Name Override with Import File K8s",
+ onapComponentSpec,
+ k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyServicesCalls(
+ "Service Name Override with Import File K8s", onapComponentSpec);
+ onapTestUtils.verifyServicesProvides(
+ "Service Name Override with Import File K8s", onapComponentSpec);
+ onapTestUtils.verifyDockerConfig(
+ "Service Name Override with Import File K8s",
+ onapComponentSpec,
+ k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyParameters(
+ "Service Name Override with Import File K8s", onapComponentSpec, k8sBpNodeTemplates);
+ onapTestUtils.verifyVolumes(
+ "Service Name Override with Import File K8s",
+ onapComponentSpec,
+ k8sBpNodeTemplateProperties);
+ }
+
+ /**
+ * Test Case for K8s Blueprint with DB
+ *
+ */
+ @DisplayName("Testing K8s Blueprint with DB")
+ @Test
+ public void testDMAAPK8sBlueprintWithDB() {
+ Input input =
+ onapTestUtils.getInput(
+ Paths.get("src", "test", "resources", "componentspecs", ves).toFile()
+ .getAbsolutePath(),
+ outputfilesPath,
+ "testDMAAPK8sBlueprintWithDB",
+ "",
+ "d",
+ "");
+ onapComponentSpec =
+ onapComponentSpecService.createComponentSpecFromFile(input.getComponentSpecPath());
+ assertNotNull("K8s Blueprint for DMAAP Component Spec is NULL", onapComponentSpec);
+
+ OnapBlueprint onapBlueprint = dmaapBlueprintCreatorService.createBlueprint(onapComponentSpec, input);
+ blueprintService.blueprintToYaml(onapComponentSpec, onapBlueprint, input);
+ }
+
+ /**
+ * Test Case for K8s Blueprint for DMAAP Component Spec Input File
+ *
+ */
+ @DisplayName("Testing K8s Blueprint for DMAAP Component Spec Input File")
+ @Test
+ public void testDMAAPK8sBlueprint() {
+ Input input =
+ onapTestUtils.getInput(
+ Paths.get("src", "test", "resources", "componentspecs", ves).toFile()
+ .getAbsolutePath(),
+ outputfilesPath,
+ "testDMAAPK8sBlueprint",
+ "",
+ "d",
+ "");
+ onapComponentSpec =
+ onapComponentSpecService.createComponentSpecFromFile(input.getComponentSpecPath());
+ assertNotNull("K8s Blueprint for DMAAP Component Spec is NULL", onapComponentSpec);
+
+ OnapBlueprint onapBlueprint = dmaapBlueprintCreatorService.createBlueprint(onapComponentSpec, input);
+ blueprintService.blueprintToYaml(onapComponentSpec, onapBlueprint, input);
+ System.out.println(blueprintService.blueprintToString(onapComponentSpec, onapBlueprint, input));
+
+ policyModelService.createPolicyModels(onapComponentSpec.getParameters(), "models");
+
+ onapTestUtils
+ .verifyToscaDefVersion("DMAAP K8s", onapBlueprint, Constants.TOSCA_DEF_VERSION);
+
+ Map<String, LinkedHashMap<String, Object>> k8sBpInputs = onapBlueprint.getInputs();
+ assertNotNull("DMAAP K8s Blueprint Inputs Section is NULL", k8sBpInputs);
+ assertTrue("DMAAP K8s Blueprint Inputs Section is Empty", k8sBpInputs.size() > 0);
+
+ assertEquals(
+ "DMAAP K8s Blueprint:Inputs " + Constants.ONAP_INPUT_CPU_LIMIT
+ + " Default is not matching",
+ k8sBpInputs.get(Constants.ONAP_INPUT_CPU_LIMIT).get("default"),
+ Constants.ONAP_DEFAULT250m);
+ assertEquals(
+ "DMAAP K8s Blueprint:Inputs "
+ + Constants.SERVICE_COMPONENT_NAME_OVERRIDE
+ + " Default is not matching",
+ k8sBpInputs.get(Constants.SERVICE_COMPONENT_NAME_OVERRIDE).get("default"),
+ Constants.ONAP_SERVICE_COMPONENTNAME_OVERRIDE_DEFAULT);
+
+ Map<String, Node> k8sBpNodeTemplates = onapBlueprint.getNode_templates();
+ assertNotNull(
+ "DMAAP K8s Blueprint Node Templates Section is NULL in the K8s DMAAP Blueprint",
+ k8sBpNodeTemplates);
+ assertTrue(
+ "DMAAP K8s Blueprint Node Templates Section Size is Empty",
+ k8sBpNodeTemplates.size() > 0);
+
+ assertEquals(
+ "DMAAP K8s Blueprint:NodeTemplates:Type is not Matching",
+ k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES).getType(),
+ Constants.DMAAP_NODETEMPLATES_TYPE);
+
+ Properties k8sBpNodeTemplateProperties =
+ ((Node) k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES)).getProperties();
+ assertNotNull(
+ "DMAAP K8s Blueprint Node Templates:Properties Section is NULL",
+ k8sBpNodeTemplateProperties);
+
+ List bpNodeTemplateRelationships =
+ ((Node) k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES)).getRelationships();
+ assertNotNull(
+ "DMAAP K8s Blueprint Node Templates:Relationships Section is NULL",
+ bpNodeTemplateRelationships);
+
+ onapTestUtils.verifyStreamsPublishes(
+ "DMAAP K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyStreamsSubscribes(
+ "DMAAP K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyAuxilary("DMAAP K8s", onapComponentSpec);
+ onapTestUtils
+ .verifyHealthCheck("DMAAP K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyServicesCalls("DMAAP K8s", onapComponentSpec);
+ onapTestUtils.verifyServicesProvides("DMAAP K8s", onapComponentSpec);
+ onapTestUtils
+ .verifyDockerConfig("DMAAP K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyParameters("DMAAP K8s", onapComponentSpec, k8sBpNodeTemplates);
+ }
+
+ /**
+ * Test Case for K8s Blueprint for DMAAP Component Spec Input File with Import File
+ *
+ */
+ @DisplayName("Testing K8s Blueprint for DMAAP Component Spec Input File with Import File")
+ @Test
+ public void testDMAAPK8sImportFileBlueprint() throws IOException {
+ Input input =
+ onapTestUtils.getInput(
+ Paths.get("src", "test", "resources", "componentspecs", ves).toFile()
+ .getAbsolutePath(),
+ "",
+ "",
+ Paths.get("src", "test", "resources", "componentspecs", testImports)
+ .toFile()
+ .getAbsolutePath(),
+ "d",
+ "");
+ onapComponentSpec =
+ onapComponentSpecService.createComponentSpecFromFile(input.getComponentSpecPath());
+ assertNotNull(
+ "K8s Blueprint for DMAAP Component Spec with Import File is NULL", onapComponentSpec);
+
+ OnapBlueprint onapBlueprint = dmaapBlueprintCreatorService.createBlueprint(onapComponentSpec, input);
+
+ onapTestUtils.verifyToscaDefVersion(
+ "DMAAP with Import File K8s", onapBlueprint, Constants.TOSCA_DEF_VERSION);
+ onapTestUtils.verifyBpImportsFromFile(
+ "DMAAP with Import File K8s", onapBlueprint, input.getImportPath());
+
+ Map<String, LinkedHashMap<String, Object>> k8sBpInputs = onapBlueprint.getInputs();
+ assertNotNull("DMAAP with Import File K8s Blueprint Inputs Section is NULL", k8sBpInputs);
+ assertTrue(
+ "DMAAP with Import File K8s Blueprint Inputs Section is Empty", k8sBpInputs.size() > 0);
+
+ assertEquals(
+ "DMAAP with Import File K8s Blueprint:Inputs "
+ + Constants.ONAP_INPUT_CPU_LIMIT
+ + " Default is not matching",
+ k8sBpInputs.get(Constants.ONAP_INPUT_CPU_LIMIT).get("default"),
+ Constants.ONAP_DEFAULT250m);
+ assertEquals(
+ "DMAAP with Import File K8s Blueprint:Inputs "
+ + Constants.SERVICE_COMPONENT_NAME_OVERRIDE
+ + " Default is not matching",
+ k8sBpInputs.get(Constants.SERVICE_COMPONENT_NAME_OVERRIDE).get("default"),
+ Constants.ONAP_SERVICE_COMPONENTNAME_OVERRIDE_DEFAULT);
+
+ Map<String, Node> k8sBpNodeTemplates = onapBlueprint.getNode_templates();
+ assertNotNull(
+ "DMAAP with Import File K8s Blueprint Node Templates Section is NULL in the K8s DMAAP Blueprint",
+ k8sBpNodeTemplates);
+ assertTrue(
+ "DMAAP with Import File K8s Blueprint Node Templates Section Size is Empty",
+ k8sBpNodeTemplates.size() > 0);
+
+ assertEquals(
+ "DMAAP with Import File K8s Blueprint:NodeTemplates:Type is not Matching",
+ k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES).getType(),
+ Constants.DMAAP_NODETEMPLATES_TYPE);
+
+ Properties k8sBpNodeTemplateProperties =
+ ((Node) k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES)).getProperties();
+ assertNotNull(
+ "DMAAP with Import File K8s Blueprint Node Templates:Properties Section is NULL",
+ k8sBpNodeTemplateProperties);
+
+ List bpNodeTemplateRelationships =
+ ((Node) k8sBpNodeTemplates.get(Constants.ONAP_NODETEMPLATES)).getRelationships();
+ assertNotNull(
+ "DMAAP with Import File K8s Blueprint Node Templates:Relationships Section is NULL",
+ bpNodeTemplateRelationships);
+
+ onapTestUtils.verifyStreamsPublishes(
+ "DMAAP with Import File K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyStreamsSubscribes(
+ "DMAAP with Import File K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyAuxilary("DMAAP with Import File K8s", onapComponentSpec);
+ onapTestUtils.verifyHealthCheck(
+ "DMAAP with Import File K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyServicesCalls("DMAAP with Import File K8s", onapComponentSpec);
+ onapTestUtils.verifyServicesProvides("DMAAP with Import File K8s", onapComponentSpec);
+ onapTestUtils.verifyDockerConfig(
+ "DMAAP with Import File K8s", onapComponentSpec, k8sBpNodeTemplateProperties);
+ onapTestUtils.verifyParameters(
+ "DMAAP with Import File K8s", onapComponentSpec, k8sBpNodeTemplates);
+ }
+}