diff options
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.java | 445 |
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); + } +} |