diff options
Diffstat (limited to 'common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-test/src/main/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java')
-rw-r--r-- | common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-test/src/main/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java | 608 |
1 files changed, 286 insertions, 322 deletions
diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-test/src/main/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-test/src/main/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java index ced8acbb80..38462d05bb 100644 --- a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-test/src/main/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-test/src/main/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java @@ -46,11 +46,16 @@ import static org.openecomp.sdc.generator.SampleJUnitTest.additionalParams; @SuppressWarnings("Duplicates") public class ArtifactGenerationServiceTest { + public static final String RESOURCE_MAPPING_NOT_FOUND = "Resource mapping not found for "; + public static final String INV_UID = "-INV_UID"; + public static final String VF_MODULE_NAMESPACE = "org.openecomp.groups.VfModule"; + public static final String VF_MODULE_DESCRIPTION = "vf_module_description"; + public static final String CATEGORY = "category"; static Map<String, String> resourcesVersion = new HashMap<>(); public static Properties properties = new Properties(); @SuppressWarnings("Since15") - public static void validateName(List<Artifact> artifactList) { + public static void validateName(List<Artifact> artifactList) throws JAXBException { for(Artifact artifact : artifactList){ String xml = new String(Base64.getDecoder().decode(artifact.getPayload())); Model model = getUnmarshalledArtifactModel(xml); @@ -90,10 +95,10 @@ public class ArtifactGenerationServiceTest { String resourceVersion= resourcesVersion.get(toscaTemplate.getMetadata().get("UUID")); toscaTemplate.getMetadata().put("version", resourceVersion); if("VF".equals(toscaTemplate.getMetadata().get("type")) && !("Allotted Resource".equals - (toscaTemplate.getMetadata().get("category"))) ){ + (toscaTemplate.getMetadata().get(CATEGORY))) ){ testVfTosca(outputArtifactMap, toscaTemplate); } else if("VF".equals(toscaTemplate.getMetadata().get("type")) && ("Allotted Resource".equals - (toscaTemplate.getMetadata().get("category"))) ){ + (toscaTemplate.getMetadata().get(CATEGORY))) ){ testAllottedResourceTosca(outputArtifactMap, toscaTemplate); } else if("VL".equals(toscaTemplate.getMetadata().get("type"))){ testL3NetworkResourceTosca(outputArtifactMap, toscaTemplate); @@ -102,224 +107,212 @@ public class ArtifactGenerationServiceTest { } public static void testVfTosca(Map<String, Model> outputArtifactMap , ToscaTemplate resourceTosca) { - try { - //ToscaTemplate resourceTosca = getResourceTosca(toscas); - //resourceTosca.getTopology_template().getGroups(). - if (resourceTosca != null) { - Resource resource = new Resource(); - resource.populateModelIdentificationInformation(resourceTosca.getMetadata()); - String resourceNameVersionId = resource.getModelNameVersionId(); - Model resourceAAIModel = - getAAIModelByNameVersionId(resourceNameVersionId, outputArtifactMap); - if (resourceAAIModel != null) { - validateResourceModelMetadata(resource, resourceAAIModel); - //Validate Resource instance base widget - - ModelVer modelVersion = resourceAAIModel.getModelVers().getModelVer().get(0); - - List<ModelElement> matchedVFBaseWidgetElements = - getModelElementbyRelationshipValue(modelVersion.getModelElements(), - Widget.getWidget(Widget.Type.VF).getId()); - validateMatchedModelElementsInService(matchedVFBaseWidgetElements, - Widget.getWidget(Widget.Type.VF).getName()); - - validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.VF).getName(), - Widget.getWidget(Widget.Type.VF).getWidgetId()); - - ModelElements baseResourceWidgetModelElements = - matchedVFBaseWidgetElements.get(0).getModelElements(); - if (resourceTosca.getTopology_template() != null) { - Map<String, String> groupIdTypeStore = getGroupsTypeStore(resourceTosca); - - if (baseResourceWidgetModelElements.getModelElement().size() != - groupIdTypeStore.size()) { - org.testng.Assert.fail("Missing VFModule in VF model.xml"); - } - for (String key : groupIdTypeStore.keySet()) { - - List<ModelElement> matchedResourceElements = - getModelElementbyRelationshipValue(baseResourceWidgetModelElements, key); - validateMatchedModelElementsInService(matchedResourceElements, - Widget.getWidget(Widget.Type.VFMODULE).getName()); - Model resourceAAIVFModel = getAAIModelByNameVersionId(key, outputArtifactMap); - Map<String, String> vfModuleModelMetadata = - getVFModuleMetadataTosca(resourceTosca, key); - Map<String, Object> vfModuleMembers = getVFModuleMembersTosca(resourceTosca, key); - - validateVFModelMetadata(vfModuleModelMetadata, resourceAAIVFModel); - - - ModelVer modelVfVersion = resourceAAIVFModel.getModelVers().getModelVer().get(0); - - List<ModelElement> matchedVFModuleBaseWidgetElements = - getModelElementbyRelationshipValue(modelVfVersion.getModelElements(), - Widget.getWidget(Widget.Type.VFMODULE).getId()); - validateMatchedModelElementsInService(matchedVFModuleBaseWidgetElements, - Widget.getWidget(Widget.Type.VFMODULE).getName()); - validateWidgetIds(matchedVFModuleBaseWidgetElements, Widget.getWidget(Widget.Type.VFMODULE) - .getName(), Widget.getWidget(Widget.Type.VFMODULE).getWidgetId()); - - ModelElements baseResourceVFModuleWidgetModelElements = - matchedVFModuleBaseWidgetElements.get(0).getModelElements(); - if (vfModuleMembers.containsKey("l3-network")) { - //Validate l3 - List<ModelElement> matchedL3NetworkElements = - getModelElementbyRelationshipValue(baseResourceVFModuleWidgetModelElements, - Widget.getWidget(Widget.Type.L3_NET).getId()); - validateMatchedModelElementsInService(matchedL3NetworkElements, - Widget.getWidget(Widget.Type.L3_NET).getName()); - validateWidgetIds(matchedL3NetworkElements, Widget.getWidget(Widget.Type.L3_NET) - .getName(), Widget.getWidget(Widget.Type.L3_NET).getWidgetId()); - } - if (vfModuleMembers.containsKey("vserver")) { - //Validate vserver - List<ModelElement> matchedVserverElements = - getModelElementbyRelationshipValue(baseResourceVFModuleWidgetModelElements, - Widget.getWidget(Widget.Type.VSERVER).getId()); - validateMatchedModelElementsInService(matchedVserverElements, - Widget.getWidget(Widget.Type.VSERVER).getName()); - ModelElements vserverWidgetModelElements = - matchedVserverElements.get(0).getModelElements(); - - validateWidgetIds(matchedVserverElements, Widget.getWidget(Widget.Type.VSERVER) - .getName(), Widget.getWidget(Widget.Type.VSERVER).getWidgetId()); - - - //Validate vserver->vfc - List<ModelElement> matchedVfcElements = - getModelElementbyRelationshipValue(vserverWidgetModelElements, - Widget.getWidget(Widget.Type.VFC).getId()); - validateMatchedModelElementsInService(matchedVfcElements, - Widget.getWidget(Widget.Type.VFC).getName()); - validateWidgetIds(matchedVfcElements, Widget.getWidget(Widget.Type.VFC).getName(), - Widget.getWidget(Widget.Type.VFC).getWidgetId()); - - //Validate vserver->Image - List<ModelElement> matchedImageElements = - getModelElementbyRelationshipValue(vserverWidgetModelElements, - Widget.getWidget(Widget.Type.IMAGE).getId()); - validateMatchedModelElementsInService(matchedImageElements, - Widget.getWidget(Widget.Type.IMAGE).getName()); - validateWidgetIds(matchedImageElements, Widget.getWidget(Widget.Type.IMAGE) - .getName(), Widget.getWidget(Widget.Type.IMAGE).getWidgetId()); + if (resourceTosca != null) { + Resource resource = new Resource(); + resource.populateModelIdentificationInformation(resourceTosca.getMetadata()); + String resourceNameVersionId = resource.getModelNameVersionId(); + Model resourceAAIModel = + getAAIModelByNameVersionId(resourceNameVersionId, outputArtifactMap); + if (resourceAAIModel != null) { + validateResourceModelMetadata(resource, resourceAAIModel); + //Validate Resource instance base widget + + ModelVer modelVersion = resourceAAIModel.getModelVers().getModelVer().get(0); + + List<ModelElement> matchedVFBaseWidgetElements = + getModelElementbyRelationshipValue(modelVersion.getModelElements(), + Widget.getWidget(Widget.Type.VF).getId()); + validateMatchedModelElementsInService(matchedVFBaseWidgetElements, + Widget.getWidget(Widget.Type.VF).getName()); + + validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.VF).getName(), + Widget.getWidget(Widget.Type.VF).getWidgetId()); + + ModelElements baseResourceWidgetModelElements = + matchedVFBaseWidgetElements.get(0).getModelElements(); + if (resourceTosca.getTopology_template() != null) { + Map<String, String> groupIdTypeStore = getGroupsTypeStore(resourceTosca); + + if (baseResourceWidgetModelElements.getModelElement().size() != + groupIdTypeStore.size()) { + org.testng.Assert.fail("Missing VFModule in VF model.xml"); + } + for (String key : groupIdTypeStore.keySet()) { - //Validate vserver->Flavor - List<ModelElement> matchedFlavorElements = + List<ModelElement> matchedResourceElements = + getModelElementbyRelationshipValue(baseResourceWidgetModelElements, key); + validateMatchedModelElementsInService(matchedResourceElements, + Widget.getWidget(Widget.Type.VFMODULE).getName()); + Model resourceAAIVFModel = getAAIModelByNameVersionId(key, outputArtifactMap); + Map<String, String> vfModuleModelMetadata = + getVFModuleMetadataTosca(resourceTosca, key); + Map<String, Object> vfModuleMembers = getVFModuleMembersTosca(resourceTosca, key); + + validateVFModelMetadata(vfModuleModelMetadata, resourceAAIVFModel); + + + ModelVer modelVfVersion = resourceAAIVFModel.getModelVers().getModelVer().get(0); + + List<ModelElement> matchedVFModuleBaseWidgetElements = + getModelElementbyRelationshipValue(modelVfVersion.getModelElements(), + Widget.getWidget(Widget.Type.VFMODULE).getId()); + validateMatchedModelElementsInService(matchedVFModuleBaseWidgetElements, + Widget.getWidget(Widget.Type.VFMODULE).getName()); + validateWidgetIds(matchedVFModuleBaseWidgetElements, Widget.getWidget(Widget.Type.VFMODULE) + .getName(), Widget.getWidget(Widget.Type.VFMODULE).getWidgetId()); + + ModelElements baseResourceVFModuleWidgetModelElements = + matchedVFModuleBaseWidgetElements.get(0).getModelElements(); + if (vfModuleMembers.containsKey("l3-network")) { + //Validate l3 + List<ModelElement> matchedL3NetworkElements = + getModelElementbyRelationshipValue(baseResourceVFModuleWidgetModelElements, + Widget.getWidget(Widget.Type.L3_NET).getId()); + validateMatchedModelElementsInService(matchedL3NetworkElements, + Widget.getWidget(Widget.Type.L3_NET).getName()); + validateWidgetIds(matchedL3NetworkElements, Widget.getWidget(Widget.Type.L3_NET) + .getName(), Widget.getWidget(Widget.Type.L3_NET).getWidgetId()); + } + if (vfModuleMembers.containsKey("vserver")) { + //Validate vserver + List<ModelElement> matchedVserverElements = + getModelElementbyRelationshipValue(baseResourceVFModuleWidgetModelElements, + Widget.getWidget(Widget.Type.VSERVER).getId()); + validateMatchedModelElementsInService(matchedVserverElements, + Widget.getWidget(Widget.Type.VSERVER).getName()); + ModelElements vserverWidgetModelElements = + matchedVserverElements.get(0).getModelElements(); + + validateWidgetIds(matchedVserverElements, Widget.getWidget(Widget.Type.VSERVER) + .getName(), Widget.getWidget(Widget.Type.VSERVER).getWidgetId()); + + + //Validate vserver->vfc + List<ModelElement> matchedVfcElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.VFC).getId()); + validateMatchedModelElementsInService(matchedVfcElements, + Widget.getWidget(Widget.Type.VFC).getName()); + validateWidgetIds(matchedVfcElements, Widget.getWidget(Widget.Type.VFC).getName(), + Widget.getWidget(Widget.Type.VFC).getWidgetId()); + + //Validate vserver->Image + List<ModelElement> matchedImageElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.IMAGE).getId()); + validateMatchedModelElementsInService(matchedImageElements, + Widget.getWidget(Widget.Type.IMAGE).getName()); + validateWidgetIds(matchedImageElements, Widget.getWidget(Widget.Type.IMAGE) + .getName(), Widget.getWidget(Widget.Type.IMAGE).getWidgetId()); + + + //Validate vserver->Flavor + List<ModelElement> matchedFlavorElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.FLAVOR).getId()); + validateMatchedModelElementsInService(matchedFlavorElements, + Widget.getWidget(Widget.Type.FLAVOR).getName()); + validateWidgetIds(matchedFlavorElements, Widget.getWidget(Widget.Type.FLAVOR).getName(), + Widget.getWidget(Widget.Type.FLAVOR).getWidgetId()); + + //Validate vserver->Tenant + List<ModelElement> matchedTenantElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.TENANT).getId()); + validateMatchedModelElementsInService(matchedTenantElements, + Widget.getWidget(Widget.Type.TENANT).getName()); + validateWidgetIds(matchedTenantElements, Widget.getWidget(Widget.Type.TENANT).getName(), + Widget.getWidget(Widget.Type.TENANT).getWidgetId()); + + //Validate vserver->l-interface + if (vfModuleMembers.containsKey("l-interface")) { + List<ModelElement> matchedLinterfaceElements = getModelElementbyRelationshipValue(vserverWidgetModelElements, - Widget.getWidget(Widget.Type.FLAVOR).getId()); - validateMatchedModelElementsInService(matchedFlavorElements, - Widget.getWidget(Widget.Type.FLAVOR).getName()); - validateWidgetIds(matchedFlavorElements, Widget.getWidget(Widget.Type.FLAVOR).getName(), - Widget.getWidget(Widget.Type.FLAVOR).getWidgetId()); - - //Validate vserver->Tenant - List<ModelElement> matchedTenantElements = + Widget.getWidget(Widget.Type.LINT).getId()); + validateMatchedModelElementsInService(matchedLinterfaceElements, + Widget.getWidget(Widget.Type.LINT).getName()); + validateWidgetIds(matchedLinterfaceElements, Widget.getWidget(Widget.Type.LINT).getName(), + Widget.getWidget(Widget.Type.LINT).getWidgetId()); + } + //Validate vserver->volume + if (vfModuleMembers.containsKey("volume")) { + List<ModelElement> matchedVolumeElements = getModelElementbyRelationshipValue(vserverWidgetModelElements, - Widget.getWidget(Widget.Type.TENANT).getId()); - validateMatchedModelElementsInService(matchedTenantElements, - Widget.getWidget(Widget.Type.TENANT).getName()); - validateWidgetIds(matchedTenantElements, Widget.getWidget(Widget.Type.TENANT).getName(), - Widget.getWidget(Widget.Type.TENANT).getWidgetId()); - - //Validate vserver->l-interface - if (vfModuleMembers.containsKey("l-interface")) { - List<ModelElement> matchedLinterfaceElements = - getModelElementbyRelationshipValue(vserverWidgetModelElements, - Widget.getWidget(Widget.Type.LINT).getId()); - validateMatchedModelElementsInService(matchedLinterfaceElements, - Widget.getWidget(Widget.Type.LINT).getName()); - validateWidgetIds(matchedLinterfaceElements, Widget.getWidget(Widget.Type.LINT).getName(), - Widget.getWidget(Widget.Type.LINT).getWidgetId()); - } - //Validate vserver->volume - if (vfModuleMembers.containsKey("volume")) { - List<ModelElement> matchedVolumeElements = - getModelElementbyRelationshipValue(vserverWidgetModelElements, - Widget.getWidget(Widget.Type.VOLUME).getId()); - validateMatchedModelElementsInService(matchedVolumeElements, - Widget.getWidget(Widget.Type.VOLUME).getName()); - validateWidgetIds(matchedVolumeElements, Widget.getWidget(Widget.Type.VOLUME).getName(), - Widget.getWidget(Widget.Type.VOLUME).getWidgetId()); - } + Widget.getWidget(Widget.Type.VOLUME).getId()); + validateMatchedModelElementsInService(matchedVolumeElements, + Widget.getWidget(Widget.Type.VOLUME).getName()); + validateWidgetIds(matchedVolumeElements, Widget.getWidget(Widget.Type.VOLUME).getName(), + Widget.getWidget(Widget.Type.VOLUME).getWidgetId()); } } } - } else { - System.out.println("Resource mapping not found for " + resourceNameVersionId); } + } else { + System.out.println(RESOURCE_MAPPING_NOT_FOUND + resourceNameVersionId); } - - } catch (IllegalArgumentException e) { - org.testng.Assert.fail(e.getMessage()); //Can come while populating metadata } - } public static void testAllottedResourceTosca(Map<String, Model> outputArtifactMap , ToscaTemplate resourceTosca) { - try { - if (resourceTosca != null) { - Resource resource = new Resource(); - resource.populateModelIdentificationInformation(resourceTosca.getMetadata()); - String resourceNameVersionId = resource.getModelNameVersionId(); - Model resourceAAIModel = - getAAIModelByNameVersionId(resourceNameVersionId, outputArtifactMap); - if (resourceAAIModel != null) { - validateResourceModelMetadata(resource, resourceAAIModel); - //Validate Resource instance base widget - ModelVer modelVersion = resourceAAIModel.getModelVers().getModelVer().get(0); + if (resourceTosca != null) { + Resource resource = new Resource(); + resource.populateModelIdentificationInformation(resourceTosca.getMetadata()); + String resourceNameVersionId = resource.getModelNameVersionId(); + Model resourceAAIModel = + getAAIModelByNameVersionId(resourceNameVersionId, outputArtifactMap); + if (resourceAAIModel != null) { + validateResourceModelMetadata(resource, resourceAAIModel); + //Validate Resource instance base widget - List<ModelElement> matchedVFBaseWidgetElements = - getModelElementbyRelationshipValue(modelVersion.getModelElements(), - Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getId()); - validateMatchedModelElementsInService(matchedVFBaseWidgetElements, - Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName()); + ModelVer modelVersion = resourceAAIModel.getModelVers().getModelVer().get(0); - validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName(), - Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getWidgetId()); + List<ModelElement> matchedVFBaseWidgetElements = + getModelElementbyRelationshipValue(modelVersion.getModelElements(), + Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getId()); + validateMatchedModelElementsInService(matchedVFBaseWidgetElements, + Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName()); - validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName(), - Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getWidgetId()); + validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName(), + Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getWidgetId()); - Map<String, Object> providingServiceDetails = getProvidingServiceDetails(resourceTosca); + validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName(), + Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getWidgetId()); - ModelElements containedModelElements = modelVersion.getModelElements().getModelElement(). - get(0).getModelElements(); + Map<String, Object> providingServiceDetails = getProvidingServiceDetails(resourceTosca); - org.testng.Assert.assertEquals(containedModelElements.getModelElement().get(0).getRelationshipList() - .getRelationship().get(0).getRelationshipData().get(0).getRelationshipValue(), - providingServiceDetails.get("providing_service_uuid")); + ModelElements containedModelElements = modelVersion.getModelElements().getModelElement(). + get(0).getModelElements(); - org.testng.Assert.assertEquals(containedModelElements.getModelElement().get(0).getRelationshipList() - .getRelationship().get(0).getRelationshipData().get(1).getRelationshipValue(), - providingServiceDetails.get("providing_service_invariant_uuid")); + org.testng.Assert.assertEquals(containedModelElements.getModelElement().get(0).getRelationshipList() + .getRelationship().get(0).getRelationshipData().get(0).getRelationshipValue(), + providingServiceDetails.get("providing_service_uuid")); + org.testng.Assert.assertEquals(containedModelElements.getModelElement().get(0).getRelationshipList() + .getRelationship().get(0).getRelationshipData().get(1).getRelationshipValue(), + providingServiceDetails.get("providing_service_invariant_uuid")); - if("Allotted Resource".equals(resourceTosca.getMetadata().get("category")) && - "Tunnel XConnect".equals(resourceTosca.getMetadata().get("subcategory"))) { - List<ModelElement> matchedTunnelXConnectWidgetElements = - getModelElementbyRelationshipValue(containedModelElements, - Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getId()); - validateMatchedModelElementsInService(matchedTunnelXConnectWidgetElements, - Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getName()); + if("Allotted Resource".equals(resourceTosca.getMetadata().get(CATEGORY)) && + "Tunnel XConnect".equals(resourceTosca.getMetadata().get("subcategory"))) { - validateWidgetIds(matchedTunnelXConnectWidgetElements, Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getName(), - Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getWidgetId()); - } + List<ModelElement> matchedTunnelXConnectWidgetElements = + getModelElementbyRelationshipValue(containedModelElements, + Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getId()); + validateMatchedModelElementsInService(matchedTunnelXConnectWidgetElements, + Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getName()); - }else { - System.out.println("Resource mapping not found for " + resourceNameVersionId); + validateWidgetIds(matchedTunnelXConnectWidgetElements, Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getName(), + Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getWidgetId()); } - } - }catch (IllegalArgumentException e) { - org.testng.Assert.fail(e.getMessage()); //Can come while populating metadata + }else { + System.out.println(RESOURCE_MAPPING_NOT_FOUND + resourceNameVersionId); + } } - } public static Map<String, Object> getProvidingServiceDetails(ToscaTemplate resourceTemplate) { @@ -329,7 +322,7 @@ public class ArtifactGenerationServiceTest { for(String key : keys) { NodeTemplate node = resourceTemplate.getTopology_template().getNode_templates().get(key); if(node.getType().contains("org.openecomp.resource.vfc") && - node.getMetadata().get("category").equals("Allotted Resource")) { + node.getMetadata().get(CATEGORY).equals("Allotted Resource")) { nodeProperties = node.getProperties(); } } @@ -339,114 +332,102 @@ public class ArtifactGenerationServiceTest { public static void testL3NetworkResourceTosca(Map<String, Model> outputArtifactMap , ToscaTemplate resourceTosca) { - try { - if (resourceTosca != null) { - Resource resource = new Resource(); - resource.populateModelIdentificationInformation(resourceTosca.getMetadata()); - String resourceNameVersionId = resource.getModelNameVersionId(); - Model resourceAAIModel = - getAAIModelByNameVersionId(resourceNameVersionId, outputArtifactMap); - if (resourceAAIModel != null) { - validateResourceModelMetadata(resource, resourceAAIModel); - //Validate Resource instance base widget - - ModelVer modelVersion = resourceAAIModel.getModelVers().getModelVer().get(0); - - List<ModelElement> matchedVFBaseWidgetElements = - getModelElementbyRelationshipValue(modelVersion.getModelElements(), - Widget.getWidget(Widget.Type.L3_NET).getId()); - validateMatchedModelElementsInService(matchedVFBaseWidgetElements, - Widget.getWidget(Widget.Type.L3_NET).getName()); - - validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.L3_NET).getName(), - Widget.getWidget(Widget.Type.L3_NET).getWidgetId()); - }else { - System.out.println("Resource mapping not found for " + resourceNameVersionId); - } + if (resourceTosca != null) { + Resource resource = new Resource(); + resource.populateModelIdentificationInformation(resourceTosca.getMetadata()); + String resourceNameVersionId = resource.getModelNameVersionId(); + Model resourceAAIModel = + getAAIModelByNameVersionId(resourceNameVersionId, outputArtifactMap); + if (resourceAAIModel != null) { + validateResourceModelMetadata(resource, resourceAAIModel); + //Validate Resource instance base widget + + ModelVer modelVersion = resourceAAIModel.getModelVers().getModelVer().get(0); + + List<ModelElement> matchedVFBaseWidgetElements = + getModelElementbyRelationshipValue(modelVersion.getModelElements(), + Widget.getWidget(Widget.Type.L3_NET).getId()); + validateMatchedModelElementsInService(matchedVFBaseWidgetElements, + Widget.getWidget(Widget.Type.L3_NET).getName()); + + validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.L3_NET).getName(), + Widget.getWidget(Widget.Type.L3_NET).getWidgetId()); + + }else { + System.out.println(RESOURCE_MAPPING_NOT_FOUND + resourceNameVersionId); } - - }catch (IllegalArgumentException e) { - org.testng.Assert.fail(e.getMessage()); //Can come while populating metadata } - } public static void testServiceTosca(Map<String, Model> outputArtifactMap,List<ToscaTemplate> toscas) { - try { - ToscaTemplate serviceTosca = getServiceTosca(toscas); - if (serviceTosca == null) { - org.testng.Assert.fail("Service Tosca not found"); - } - serviceTosca.getMetadata().put("version", additionalParams.get(AdditionalParams - .ServiceVersion.getName())); - Service service = new Service(); - service.populateModelIdentificationInformation(serviceTosca.getMetadata()); - String serviceNameVersionId = service.getModelNameVersionId(); - Model serviceAAIModel = getAAIModelByNameVersionId(serviceNameVersionId, outputArtifactMap); - validateServiceModelMetadata(service, serviceAAIModel); - //Validate Service instance base widget - ModelVer modelVersion = serviceAAIModel.getModelVers().getModelVer().get(0); - - List<ModelElement> matchedServiceBaseWidgetElements = - getModelElementbyRelationshipValue( modelVersion.getModelElements(), - Widget.getWidget(Widget.Type.SERVICE).getId()); - validateMatchedModelElementsInService(matchedServiceBaseWidgetElements, - Widget.getWidget(Widget.Type.SERVICE).getName()); - - validateWidgetIds(matchedServiceBaseWidgetElements, Widget.getWidget(Widget.Type.SERVICE).getName(), - Widget.getWidget(Widget.Type.SERVICE).getWidgetId()); - - ModelElements baseServiceWidgetModelElements = - matchedServiceBaseWidgetElements.get(0).getModelElements(); - - - Map<String, String> nodeTemplateIdTypeStore = getNodeTemplateTypeStore(serviceTosca); - if (nodeTemplateIdTypeStore != null) { - for (String key : nodeTemplateIdTypeStore.keySet()) { - if (nodeTemplateIdTypeStore.get(key).contains("org.openecomp.resource.vf")) { - List<ModelElement> matchedResourceElements = - getModelElementbyRelationshipValue(baseServiceWidgetModelElements, key); - if (nodeTemplateIdTypeStore.get(key).contains("org.openecomp.resource.vf.allottedResource")){ - validateMatchedModelElementsInService(matchedResourceElements, - Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName()); - }else { - validateMatchedModelElementsInService(matchedResourceElements, - Widget.getWidget(Widget.Type.VF).getName()); - } - //Validate uuid and invariantuuid are populated in model-ver.model-version-id and model.model-invariant-id - org.testng.Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList() - .getRelationship().get(0) - .getRelationshipData().get(0).getRelationshipValue(),key); - - org.testng.Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList().getRelationship().get(0) - .getRelationshipData().get(1).getRelationshipValue(), nodeTemplateIdTypeStore - .get(key+"-INV_UID")); - } else if(nodeTemplateIdTypeStore.get(key).contains("org.openecomp.resource.vl")){ - //validate l3-network in service tosca - List<ModelElement> matchedResourceElements = - getModelElementbyRelationshipValue(baseServiceWidgetModelElements, key); + ToscaTemplate serviceTosca = getServiceTosca(toscas); + if (serviceTosca == null) { + org.testng.Assert.fail("Service Tosca not found"); + } + serviceTosca.getMetadata().put("version", additionalParams.get(AdditionalParams + .ServiceVersion.getName())); + Service service = new Service(); + service.populateModelIdentificationInformation(serviceTosca.getMetadata()); + String serviceNameVersionId = service.getModelNameVersionId(); + Model serviceAAIModel = getAAIModelByNameVersionId(serviceNameVersionId, outputArtifactMap); + validateServiceModelMetadata(service, serviceAAIModel); + //Validate Service instance base widget + ModelVer modelVersion = serviceAAIModel.getModelVers().getModelVer().get(0); + + List<ModelElement> matchedServiceBaseWidgetElements = + getModelElementbyRelationshipValue( modelVersion.getModelElements(), + Widget.getWidget(Widget.Type.SERVICE).getId()); + validateMatchedModelElementsInService(matchedServiceBaseWidgetElements, + Widget.getWidget(Widget.Type.SERVICE).getName()); + + validateWidgetIds(matchedServiceBaseWidgetElements, Widget.getWidget(Widget.Type.SERVICE).getName(), + Widget.getWidget(Widget.Type.SERVICE).getWidgetId()); + + ModelElements baseServiceWidgetModelElements = + matchedServiceBaseWidgetElements.get(0).getModelElements(); + + + Map<String, String> nodeTemplateIdTypeStore = getNodeTemplateTypeStore(serviceTosca); + if (nodeTemplateIdTypeStore != null) { + for (Map.Entry<String, String> entry : nodeTemplateIdTypeStore.entrySet()) { + if (entry.getValue().contains("org.openecomp.resource.vf")) { + List<ModelElement> matchedResourceElements = + getModelElementbyRelationshipValue(baseServiceWidgetModelElements, entry.getKey()); + if (entry.getValue().contains("org.openecomp.resource.vf.allottedResource")){ validateMatchedModelElementsInService(matchedResourceElements, - Widget.getWidget(Widget.Type.L3_NET).getName()); - //Validate uuid and invariantuuid are populated in model-ver.model-version-id and model.model-invariant-id - org.testng.Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList() - .getRelationship().get(0) - .getRelationshipData().get(0).getRelationshipValue(),key); - - org.testng.Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList().getRelationship().get(0) - .getRelationshipData().get(1).getRelationshipValue(), nodeTemplateIdTypeStore - .get(key+"-INV_UID")); + Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName()); + }else { + validateMatchedModelElementsInService(matchedResourceElements, + Widget.getWidget(Widget.Type.VF).getName()); } - } - - - System.out.println(); + //Validate uuid and invariantuuid are populated in model-ver.model-version-id and model.model-invariant-id + org.testng.Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList() + .getRelationship().get(0) + .getRelationshipData().get(0).getRelationshipValue(),entry.getKey()); + + org.testng.Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList().getRelationship().get(0) + .getRelationshipData().get(1).getRelationshipValue(), nodeTemplateIdTypeStore + .get(entry.getKey()+ INV_UID)); + } else if(entry.getValue().contains("org.openecomp.resource.vl")){ + //validate l3-network in service tosca + List<ModelElement> matchedResourceElements = + getModelElementbyRelationshipValue(baseServiceWidgetModelElements, entry.getKey()); + validateMatchedModelElementsInService(matchedResourceElements, + Widget.getWidget(Widget.Type.L3_NET).getName()); + //Validate uuid and invariantuuid are populated in model-ver.model-version-id and model.model-invariant-id + org.testng.Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList() + .getRelationship().get(0) + .getRelationshipData().get(0).getRelationshipValue(),entry.getKey()); + + org.testng.Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList().getRelationship().get(0) + .getRelationshipData().get(1).getRelationshipValue(), nodeTemplateIdTypeStore + .get(entry.getKey() + INV_UID)); + } } - } catch (IllegalArgumentException e) { - org.testng.Assert.fail(e.getMessage()); //Can come while populating metadata } } @@ -486,7 +467,7 @@ public class ArtifactGenerationServiceTest { } } if(e.getValue().getType().contains("org.openecomp.resource.vf.")&& (e.getValue() - .getMetadata().get("category").equals("Allotted Resource"))) + .getMetadata().get(CATEGORY).equals("Allotted Resource"))) { e.getValue().setType("org.openecomp.resource.vf.allottedResource"); } @@ -495,7 +476,7 @@ public class ArtifactGenerationServiceTest { ("version")); //Populate invraintUuId for V9 String invUuId = e.getValue().getMetadata().get("invariantUUID"); - nodeTemplateIdTypeStore.put(uuid+"-INV_UID" , invUuId); + nodeTemplateIdTypeStore.put(uuid + INV_UID , invUuId); } } return nodeTemplateIdTypeStore; @@ -511,7 +492,7 @@ public class ArtifactGenerationServiceTest { Map<String, String> groupDefinitionIdTypeStore = new LinkedHashMap<>(); if (groupDefinitionMap != null) { for (Map.Entry<String, GroupDefinition> e : groupDefinitionMap.entrySet()) { - if (e.getValue().getType().contains("org.openecomp.groups.VfModule")) { + if (e.getValue().getType().contains(VF_MODULE_NAMESPACE)) { String uuid = e.getValue().getMetadata().get("vfModuleModelUUID"); if (GeneratorUtil.isEmpty(uuid)) { uuid = e.getValue().getMetadata().get("UUID"); @@ -561,7 +542,7 @@ public class ArtifactGenerationServiceTest { .getModelVer().get(0).getModelName()); Assert.assertEquals(vfModuleModelMetadata.get("vfModuleModelVersion"), generatedAAIModel.getModelVers() .getModelVer().get(0).getModelVersion()); - Assert.assertEquals(vfModuleModelMetadata.get("vf_module_description"), generatedAAIModel.getModelVers() + Assert.assertEquals(vfModuleModelMetadata.get(VF_MODULE_DESCRIPTION), generatedAAIModel.getModelVers() .getModelVer().get(0).getModelDescription()); } @@ -590,7 +571,7 @@ public class ArtifactGenerationServiceTest { return matchedModelElements; } - public static void populateAAIGeneratedModelStore(Map<String, Model> outputArtifactMap,List<Artifact> resultData) { + public static void populateAAIGeneratedModelStore(Map<String, Model> outputArtifactMap,List<Artifact> resultData) throws JAXBException { for (Artifact outputArtifact : resultData) { if (outputArtifact.getType().equals(ArtifactType.MODEL_INVENTORY_PROFILE.name())) { byte[] decodedPayload = GeneratorUtil.decoder(outputArtifact.getPayload()); @@ -600,20 +581,16 @@ public class ArtifactGenerationServiceTest { } } - private static Model getUnmarshalledArtifactModel(String aaiModel) { + private static Model getUnmarshalledArtifactModel(String aaiModel) throws JAXBException { JAXBContext jaxbContext; - try { - jaxbContext = JAXBContext.newInstance(Model.class); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - try (InputStream aaiModelStream = new ByteArrayInputStream(aaiModel.getBytes())) { - return (Model) unmarshaller.unmarshal(aaiModelStream); - } catch (IOException ignored) { /* ignore */ } + jaxbContext = JAXBContext.newInstance(Model.class); + Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - } catch (JAXBException e) { - e.printStackTrace(); - } - return null; + try (InputStream aaiModelStream = new ByteArrayInputStream(aaiModel.getBytes())) { + return (Model) unmarshaller.unmarshal(aaiModelStream); + } catch (IOException ignored) { /* ignore */ } + throw new RuntimeException("could not resolve artifact model"); } /** @@ -635,28 +612,15 @@ public class ArtifactGenerationServiceTest { } - private static ToscaTemplate getResourceTosca(List<ToscaTemplate> input) { - Iterator<ToscaTemplate> iter = input.iterator(); - while (iter.hasNext()) { - ToscaTemplate tosca = iter.next(); - if (!tosca.isService()) { - iter.remove(); - return tosca; - } - } - return null; - } - - private static Map<String, String> getVFModuleMetadataTosca(ToscaTemplate toscaTemplate, String vfModuleModelUUID) { Map<String, GroupDefinition> groupDefinitionMap = toscaTemplate.getTopology_template().getGroups(); Map<String, String> vfModuleModelMetadata = new LinkedHashMap<>(); for (Map.Entry<String, GroupDefinition> e : groupDefinitionMap.entrySet()) { - if (e.getValue().getType().contains("org.openecomp.groups.VfModule")) { + if (e.getValue().getType().contains(VF_MODULE_NAMESPACE)) { String uuid = e.getValue().getMetadata().get("vfModuleModelUUID"); if (uuid == vfModuleModelUUID) { vfModuleModelMetadata = e.getValue().getMetadata(); - vfModuleModelMetadata.put("vf_module_description", (String) e.getValue().getProperties().get("vf_module_description")); + vfModuleModelMetadata.put(VF_MODULE_DESCRIPTION, (String) e.getValue().getProperties().get(VF_MODULE_DESCRIPTION)); } } } @@ -667,9 +631,9 @@ public class ArtifactGenerationServiceTest { Map<String, GroupDefinition> groupDefinitionMap = toscaTemplate.getTopology_template().getGroups(); Map<String, NodeTemplate> nodeTemplateMaps = toscaTemplate.getTopology_template().getNode_templates(); Map<String, Object> vfModuleMembers = new LinkedHashMap<>(); - List<String> vfModuleModelMetadata = new ArrayList<>(); + List<String> vfModuleModelMetadata; for (Map.Entry<String, GroupDefinition> e : groupDefinitionMap.entrySet()) { - if (e.getValue().getType().contains("org.openecomp.groups.VfModule")) { + if (e.getValue().getType().contains(VF_MODULE_NAMESPACE)) { String uuid = e.getValue().getMetadata().get("vfModuleModelUUID"); if (uuid == vfModuleModelUUID) { vfModuleModelMetadata = e.getValue().getMembers(); @@ -697,7 +661,7 @@ public class ArtifactGenerationServiceTest { private static String membersType(String toscaType) { String modelToBeReturned = null; - while (toscaType != null && toscaType.lastIndexOf(".") != -1 && modelToBeReturned == null) { + while (toscaType != null && toscaType.lastIndexOf('.') != -1 && modelToBeReturned == null) { switch (toscaType) { @@ -714,7 +678,7 @@ public class ArtifactGenerationServiceTest { case "org.openecomp.resource.vf": modelToBeReturned = "generic-vnf"; break; - case "org.openecomp.groups.VfModule": + case VF_MODULE_NAMESPACE: modelToBeReturned = "vf-module"; break; case "org.openecomp.resource.vfc.nodes.heat.cinder": |