diff options
author | mark.j.leonard <mark.j.leonard@gmail.com> | 2019-04-01 19:07:53 +0100 |
---|---|---|
committer | mark.j.leonard <mark.j.leonard@gmail.com> | 2019-04-01 19:07:53 +0100 |
commit | 6342b6f7e46266caf72cbee7c96f782cc5093d80 (patch) | |
tree | 40bdfcf9eea94886e52d98e191ea2f1f75684f8b /src/test/java | |
parent | 60457e41054465e9fa10c8e6bfdbfa62a45d1f0a (diff) |
Exception handling for image software versions
Throw an exception when no software versions are present for a VNF
image. This needs to be an unchecked exception when using Streams.
Change-Id: If7a429c79a614eed1dad6ed8ac1993caca47ab6d
Issue-ID: AAI-2306
Signed-off-by: mark.j.leonard <mark.j.leonard@gmail.com>
Diffstat (limited to 'src/test/java')
-rw-r--r-- | src/test/java/org/onap/aai/babel/csar/vnfcatalog/SdcToscaHelper.java | 20 | ||||
-rw-r--r-- | src/test/java/org/onap/aai/babel/csar/vnfcatalog/TestVnfVendorImageExtractor.java (renamed from src/test/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractorTest.java) | 17 |
2 files changed, 28 insertions, 9 deletions
diff --git a/src/test/java/org/onap/aai/babel/csar/vnfcatalog/SdcToscaHelper.java b/src/test/java/org/onap/aai/babel/csar/vnfcatalog/SdcToscaHelper.java index 6fbb1f1..d285aca 100644 --- a/src/test/java/org/onap/aai/babel/csar/vnfcatalog/SdcToscaHelper.java +++ b/src/test/java/org/onap/aai/babel/csar/vnfcatalog/SdcToscaHelper.java @@ -32,7 +32,7 @@ public class SdcToscaHelper { /** * Create the test SubstitutionMappings. - * + * * @return the new Substitution Mappings */ public SubstitutionMappings buildMappings() { @@ -81,28 +81,32 @@ public class SdcToscaHelper { /** * Create a new NodeTemplate and add it to the list (for populating the Substitution Mappings). + * + * @return the new NodeTemplate */ - public void addNodeTemplate() { + public NodeTemplate addNodeTemplate() { String name = "node name"; String type = "tosca.nodes.custom"; - LinkedHashMap<String, Object> nodeTemplate = new LinkedHashMap<>(); - nodeTemplate.put("type", type); - nodeTemplate.put("properties", null); + LinkedHashMap<String, Object> ntMap = new LinkedHashMap<>(); + ntMap.put("type", type); + ntMap.put("properties", null); - LinkedHashMap<String, Object> ntnodeTemplates = buildCustomTypeDefinitions(name, nodeTemplate); + LinkedHashMap<String, Object> ntnodeTemplates = buildCustomTypeDefinitions(name, ntMap); ntnodeTemplates.put("derived_from", null); ntnodeTemplates.put("properties", getImagesDefProps()); LinkedHashMap<String, Object> typeInfo = buildNodeTemplateTypeInfo(getImagesDefProps()); LinkedHashMap<String, Object> customDefs = buildCustomTypeDefinitions(type, typeInfo); - smnodetemplates.add(new NodeTemplate(name, ntnodeTemplates, customDefs, null, null)); + NodeTemplate nodeTemplate = new NodeTemplate(name, ntnodeTemplates, customDefs, null, null); + smnodetemplates.add(nodeTemplate); + return nodeTemplate; } /** * Simulate the creation of a NodeTemplate by the SDC TOSCA parser. Populate the properties of the NodeTemplate with * the supplied images. - * + * * @param images * the value of the images property */ diff --git a/src/test/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractorTest.java b/src/test/java/org/onap/aai/babel/csar/vnfcatalog/TestVnfVendorImageExtractor.java index 7a076c5..d76551a 100644 --- a/src/test/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractorTest.java +++ b/src/test/java/org/onap/aai/babel/csar/vnfcatalog/TestVnfVendorImageExtractor.java @@ -28,6 +28,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; +import com.google.common.collect.ImmutableMap; import java.io.IOException; import java.util.HashMap; import java.util.LinkedHashMap; @@ -37,11 +38,13 @@ import org.onap.aai.babel.service.data.BabelArtifact; import org.onap.aai.babel.service.data.BabelArtifact.ArtifactType; import org.onap.aai.babel.testdata.CsarTest; import org.onap.aai.babel.util.ArtifactTestUtils; +import org.onap.sdc.toscaparser.api.NodeTemplate; +import org.onap.sdc.toscaparser.api.elements.Metadata; /** * Tests {@link VnfVendorImageExtractor}. */ -public class VnfVendorImageExtractorTest { +public class TestVnfVendorImageExtractor { @Test(expected = NullPointerException.class) public void createVendorImageMappingsNullCsarSupplied() throws ToscaToCatalogException, IOException { @@ -89,6 +92,18 @@ public class VnfVendorImageExtractorTest { is(equalTo(new ArtifactTestUtils().getRequestJson("vnfVendorImageConfigurations.json")))); } + /** + * Test that an Exception is created when there are no software versions defined for a VF. + */ + @Test(expected = IllegalArgumentException.class) + public void testBuildVendorImageConfigurations() { + SdcToscaHelper helper = new SdcToscaHelper(); + NodeTemplate vf = helper.addNodeTemplate(); + vf.setMetaData(new Metadata(ImmutableMap.of("resourceVendor", "vendor"))); + vf.setSubMappingToscaTemplate(helper.buildMappings()); + new VnfVendorImageExtractor().buildVendorImageConfigurations(null, vf); + } + @Test public void testSoftwareVersions() throws ToscaToCatalogException { VnfVendorImageExtractor extractor = new VnfVendorImageExtractor(); |