From 4cef44f73015d9f3e39a1249e7244fc9266f5d1b Mon Sep 17 00:00:00 2001 From: "mark.j.leonard" Date: Thu, 16 Aug 2018 15:14:07 +0100 Subject: [PATCH] Additional VNF Configuration test scenarios Add test cases for both 0 and 2 VNF Configurations in the input CSAR file Issue-ID: AAI-1250 Change-Id: I0cae09f876d7bbb08cbe48019220e1836e4b7fca Signed-off-by: mark.j.leonard --- .../vnfcatalog/VnfVendorImageExtractorTest.java | 14 ++++++++ .../service/TestGenerateArtifactsServiceImpl.java | 37 ++++++++++++++++----- .../catalog_csar_too_many_vnfConfigurations.csar | Bin 0 -> 35933 bytes .../response/validNoVnfConfigurationResponse.json | 1 + 4 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 src/test/resources/compressedArtifacts/catalog_csar_too_many_vnfConfigurations.csar create mode 100644 src/test/resources/response/validNoVnfConfigurationResponse.json diff --git a/src/test/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractorTest.java b/src/test/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractorTest.java index de5ea3f..49784c1 100644 --- a/src/test/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractorTest.java +++ b/src/test/java/org/onap/aai/babel/csar/vnfcatalog/VnfVendorImageExtractorTest.java @@ -18,9 +18,11 @@ * limitations under the License. * ============LICENSE_END========================================================= */ + package org.onap.aai.babel.csar.vnfcatalog; import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; @@ -56,6 +58,18 @@ public class VnfVendorImageExtractorTest { extractArtifact("Duff.txt"); } + @Test + public void createVendorImageMappingsMoreThanOneVnfConfigurationExists() throws IOException { + try { + extractArtifact("catalog_csar_too_many_vnfConfigurations.csar"); + } catch (Exception e) { + assertThat(e, is(instanceOf(ToscaToCatalogException.class))); + assertThat(e.getLocalizedMessage(), + is(equalTo("An error occurred trying to get the vnf catalog from a csar file. " + + "2 vnfConfigurations were found in the csar file and only one is allowed."))); + } + } + @Test public void createVendorImageMappingsNoVnfConfigurationExists() throws IOException, ToscaToCatalogException { assertThat(extractArtifact("noVnfConfiguration.csar"), is(nullValue())); diff --git a/src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java b/src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java index c770c60..66a36ad 100644 --- a/src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java +++ b/src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java @@ -23,6 +23,7 @@ package org.onap.aai.babel.service; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; +import com.google.gson.Gson; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; @@ -42,7 +43,9 @@ import org.junit.runner.RunWith; import org.mockito.Mockito; import org.onap.aai.auth.AAIMicroServiceAuth; import org.onap.aai.babel.parser.ArtifactGeneratorToscaParser; +import org.onap.aai.babel.service.data.BabelRequest; import org.onap.aai.babel.util.ArtifactTestUtils; +import org.onap.aai.babel.xml.generator.data.GeneratorUtil; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -75,42 +78,61 @@ public class TestGenerateArtifactsServiceImpl { @Test public void testGenerateArtifacts() throws Exception { - Response response = processJsonRequest("success_request_vnf_catalog.json"); + Response response = processJsonRequest(getRequestJson("success_request_vnf_catalog.json")); assertThat(response.getStatus(), is(Response.Status.OK.getStatusCode())); assertThat(response.getEntity(), is(getResponseJson("response.json"))); } + /** + * No VNF Configuration exists. + * + * @throws Exception + */ + @Test + public void testGenerateArtifactsWithoutVnfConfiguration() throws Exception { + final byte[] csarContent = new ArtifactTestUtils().getCompressedArtifact("noVnfConfiguration.csar"); + + BabelRequest babelRequest = new BabelRequest(); + babelRequest.setCsar(new String(GeneratorUtil.encode(csarContent))); + babelRequest.setArtifactVersion("3.0"); + babelRequest.setArtifactName("service-Vscpass-Test"); + + Response response = processJsonRequest(new Gson().toJson(babelRequest)); + assertThat(response.getStatus(), is(Response.Status.OK.getStatusCode())); + assertThat(response.getEntity(), is(getResponseJson("validNoVnfConfigurationResponse.json"))); + } + @Test public void testInvalidCsarFile() throws URISyntaxException, IOException { - Response response = processJsonRequest("invalid_csar_request.json"); + Response response = processJsonRequest(getRequestJson("invalid_csar_request.json")); assertThat(response.getStatus(), is(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode())); assertThat(response.getEntity(), is("Error converting CSAR artifact to XML model.")); } @Test public void testInvalidJsonFile() throws URISyntaxException, IOException { - Response response = processJsonRequest("invalid_json_request.json"); + Response response = processJsonRequest(getRequestJson("invalid_json_request.json")); assertThat(response.getStatus(), is(Response.Status.BAD_REQUEST.getStatusCode())); assertThat(response.getEntity(), is("Malformed request.")); } @Test public void testMissingArtifactName() throws Exception { - Response response = processJsonRequest("missing_artifact_name_request.json"); + Response response = processJsonRequest(getRequestJson("missing_artifact_name_request.json")); assertThat(response.getStatus(), is(Response.Status.BAD_REQUEST.getStatusCode())); assertThat(response.getEntity(), is("No artifact name attribute found in the request body.")); } @Test public void testMissingArtifactVersion() throws Exception { - Response response = processJsonRequest("missing_artifact_version_request.json"); + Response response = processJsonRequest(getRequestJson("missing_artifact_version_request.json")); assertThat(response.getStatus(), is(Response.Status.BAD_REQUEST.getStatusCode())); assertThat(response.getEntity(), is("No artifact version attribute found in the request body.")); } @Test public void testMissingCsarFile() throws Exception { - Response response = processJsonRequest("missing_csar_request.json"); + Response response = processJsonRequest(getRequestJson("missing_csar_request.json")); assertThat(response.getStatus(), is(Response.Status.BAD_REQUEST.getStatusCode())); assertThat(response.getEntity(), is("No csar attribute found in the request body.")); } @@ -123,7 +145,7 @@ public class TestGenerateArtifactsServiceImpl { * @throws URISyntaxException if the URI cannot be created * @throws IOException if the resource cannot be loaded */ - private Response processJsonRequest(String resource) throws URISyntaxException, IOException { + private Response processJsonRequest(String jsonString) throws URISyntaxException, IOException { UriInfo mockUriInfo = Mockito.mock(UriInfo.class); Mockito.when(mockUriInfo.getRequestUri()).thenReturn(new URI("/validate")); // NOSONAR (mocked) Mockito.when(mockUriInfo.getPath(false)).thenReturn("validate"); // URI prefix is stripped by AJSC routing @@ -156,7 +178,6 @@ public class TestGenerateArtifactsServiceImpl { servletRequest.setAttribute("javax.servlet.request.cipher_suite", ""); GenerateArtifactsServiceImpl service = new GenerateArtifactsServiceImpl(auth); - String jsonString = getRequestJson(resource); return service.generateArtifacts(mockUriInfo, headers, servletRequest, jsonString); } diff --git a/src/test/resources/compressedArtifacts/catalog_csar_too_many_vnfConfigurations.csar b/src/test/resources/compressedArtifacts/catalog_csar_too_many_vnfConfigurations.csar new file mode 100644 index 0000000000000000000000000000000000000000..7fcc408a1842bcdab3266a04add78d3728628658 GIT binary patch literal 35933 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 Qz`!5~gm-|f>{bvD06V@rbN~PV literal 0 HcmV?d00001 diff --git a/src/test/resources/response/validNoVnfConfigurationResponse.json b/src/test/resources/response/validNoVnfConfigurationResponse.json new file mode 100644 index 0000000..f84488a --- /dev/null +++ b/src/test/resources/response/validNoVnfConfigurationResponse.json @@ -0,0 +1 @@ +[{"name":"AAI-Vscpaas_Test-service-3.0.xml","type":"MODEL","payload":"\n a8db6285-20ca-4fd3-9c85-e267bdb013f9\n service\n \n \n 7f7f6fa4-275a-488f-8b3e-691a0765d57e\n Vscpaas_Test\n 3.0\n Vscpaas_Test\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 2e42bac2-318a-410c-b8ff-3b3a31351be7\n \n \n model.model-invariant-id\n b2b88a73-5c55-4984-99dd-a35c55935d14\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n 46b92144-923a-4d20-b85a-3cbd847668a9\n \n \n model.model-invariant-id\n 82194af1-3c2c-485a-8f44-420e22a9eaa4\n \n \n \n \n \n \n \n"},{"name":"AAI-ScpTestVsp..asc_heat-int2..module-0-resource-1.xml","type":"MODEL","payload":"\n 6f288081-b321-47c9-b038-6de70079a3bf\n resource\n \n \n 06258c44-ab48-4b4b-a5db-16892f7d1e76\n ScpTestVsp..asc_heat-int2..module-0\n 1\n \n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n F\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n f6a038c2-820c-42ba-8c2b-375e24e8f932\n \n \n model.model-invariant-id\n 3f4c7204-739b-4bbb-87a7-8a6856439c90\n \n \n \n \n \n F\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n abcc54bc-bb74-49dc-9043-7f7171707545\n \n \n model.model-invariant-id\n 97c26c99-6870-44c1-8a07-1d900d3f4ce6\n \n \n \n \n \n F\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 36200fb5-f251-4f5d-a520-7c5ad5c2cd4b\n \n \n model.model-invariant-id\n bace8d1c-a261-4041-9e37-823117415d0f\n \n \n \n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 5761e0a7-c6df-4d8a-9ebd-b8f445054dec\n \n \n model.model-invariant-id\n 96129eb9-f0de-4e05-8af2-73146473f766\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n 8ecb2c5d-7176-4317-a255-26274edfdd53\n \n \n model.model-invariant-id\n ff69d4e0-a8e8-4108-bdb0-dd63217e63c7\n \n \n \n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 9111f20f-e680-4001-b83f-19a2fc23bfc1\n \n \n model.model-invariant-id\n 3d560d81-57d0-438b-a2a1-5334dba0651a\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n c00563ae-812b-4e62-8330-7c4d0f47088a\n \n \n model.model-invariant-id\n ef86f9c5-2165-44f3-8fc3-96018b609ea5\n \n \n \n \n \n \n \n"},{"name":"AAI-SCP-Test-VSP-resource-1.0.xml","type":"MODEL","payload":"\n b2b88a73-5c55-4984-99dd-a35c55935d14\n resource\n \n \n 2e42bac2-318a-410c-b8ff-3b3a31351be7\n SCP-Test-VSP\n 1.0\n SCP Test VSP\n \n \n T\n unbounded\n \n \n T\n unbounded\n \n \n \n model-ver\n \n model-ver.model-version-id\n 06258c44-ab48-4b4b-a5db-16892f7d1e76\n \n \n model.model-invariant-id\n 6f288081-b321-47c9-b038-6de70079a3bf\n \n \n \n \n \n \n \n model-ver\n \n model-ver.model-version-id\n 93a6166f-b3d5-4f06-b4ba-aed48d009ad9\n \n \n model.model-invariant-id\n acc6edd8-a8d4-4b93-afaa-0994068be14c\n \n \n \n \n \n \n \n"}] -- 2.16.6