summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGenerator.java6
-rw-r--r--catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGeneratorTest.java25
2 files changed, 30 insertions, 1 deletions
diff --git a/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGenerator.java b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGenerator.java
index 4640492441..f5d7828e2d 100644
--- a/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGenerator.java
+++ b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGenerator.java
@@ -90,7 +90,11 @@ public class EtsiNfvNsCsarEntryGenerator implements CsarEntryGenerator {
}
private EtsiVersion getComponentEtsiVersion(Component component) {
- final String etsiVersion = component.getCategorySpecificMetadata().get(ETSI_VERSION_METADATA);
+ String etsiVersion = component.getCategorySpecificMetadata().get(ETSI_VERSION_METADATA);
+ final String modelName = component.getModel();
+ if (etsiVersion == null && modelName.matches(".*\\d+\\.\\d+\\.\\d+.*" )){
+ etsiVersion = modelName.replaceAll(".*?(\\d+\\.\\d+\\.\\d+).*", "$1");
+ }
return EtsiVersion.convertOrNull(etsiVersion);
}
diff --git a/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGeneratorTest.java b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGeneratorTest.java
index d52bf5c7f0..72bc8247a4 100644
--- a/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGeneratorTest.java
+++ b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/EtsiNfvNsCsarEntryGeneratorTest.java
@@ -80,6 +80,19 @@ class EtsiNfvNsCsarEntryGeneratorTest {
}
@Test
+ void successfullyEntryGenerationWithVersionFromModelNameTest() throws NsdException {
+ mockServiceComponentWithoutMetadata();
+ final NsdCsar nsdCsar = new NsdCsar(SERVICE_NORMALIZED_NAME);
+ nsdCsar.setCsarPackage(new byte[5]);
+ when(etsiNfvNsdCsarGenerator.generateNsdCsar(service)).thenReturn(nsdCsar);
+ final Map<String, byte[]> entryMap = etsiNfvNsCsarEntryGenerator.generateCsarEntries(service);
+ assertThat("Csar Entries should contain only one entry", entryMap.size(), is(1));
+ assertThat("Csar Entries should contain the expected entry", entryMap,
+ hasEntry(String.format(NSD_FILE_PATH_FORMAT, ETSI_PACKAGE, SERVICE_NORMALIZED_NAME, UNSIGNED_CSAR_EXTENSION),
+ nsdCsar.getCsarPackage()));
+ }
+
+ @Test
void knownNsdGenerationErrorTest() throws NsdException {
mockServiceComponent();
when(etsiNfvNsdCsarGenerator.generateNsdCsar(service)).thenThrow(new NsdException(""));
@@ -128,4 +141,16 @@ class EtsiNfvNsCsarEntryGeneratorTest {
categoryDefinitionList.add(nsComponentCategoryDefinition);
when(service.getCategories()).thenReturn(categoryDefinitionList);
}
+
+ private void mockServiceComponentWithoutMetadata() {
+ when(service.getName()).thenReturn("anyName");
+ when(service.getComponentType()).thenReturn(ComponentTypeEnum.SERVICE);
+ when(service.getNormalizedName()).thenReturn(SERVICE_NORMALIZED_NAME);
+ when(service.getModel()).thenReturn("Any Name with Version v2.5.1");
+ final List<CategoryDefinition> categoryDefinitionList = new ArrayList<>();
+ final CategoryDefinition nsComponentCategoryDefinition = new CategoryDefinition();
+ nsComponentCategoryDefinition.setName(CategoriesToGenerateNsd.ETSI_NS_COMPONENT_CATEGORY.getCategoryName());
+ categoryDefinitionList.add(nsComponentCategoryDefinition);
+ when(service.getCategories()).thenReturn(categoryDefinitionList);
+ }
}