From 99bf586a6eb9799c4f33e43976d741f2807ea287 Mon Sep 17 00:00:00 2001 From: MatthieuGeerebaert Date: Wed, 28 Mar 2018 13:36:26 +0200 Subject: Add serviceCatalog rest services - Add get and find serviceSpecification operations - Add API exceptions management - Consumes SDC apis - Add tests - Fix pom.xml conflict Change-Id: Id103d83dc8a981885100daabe868cdf18a922975 Issue-ID: EXTAPI-39 Signed-off-by: MatthieuGeerebaert --- .../java/org/onap/nbi/apis/resources/ApiTest.java | 89 ++++++++ .../apis/resources/ServiceCatalogAssertions.java | 135 ++++++++++++ .../nbi/apis/resources/StatusResourceTest.java | 42 ++++ .../java/org/onap/nbi/apis/status/StatusTest.java | 41 ---- src/test/resources/application.properties | 13 ++ src/test/resources/mappings/sdc_find.json | 244 +++++++++++++++++++++ ...c_get_1e3feeb0-8e36-46c6-862c-236d9c626439.json | 213 ++++++++++++++++++ ...1e3feeb0-8e36-46c6-862c-236d9c626439_tosca.json | 10 + ...0-8e36-46c6-862c-236d9c626439_withoutTosca.json | 213 ++++++++++++++++++ 9 files changed, 959 insertions(+), 41 deletions(-) create mode 100644 src/test/java/org/onap/nbi/apis/resources/ApiTest.java create mode 100644 src/test/java/org/onap/nbi/apis/resources/ServiceCatalogAssertions.java create mode 100644 src/test/java/org/onap/nbi/apis/resources/StatusResourceTest.java delete mode 100644 src/test/java/org/onap/nbi/apis/status/StatusTest.java create mode 100644 src/test/resources/application.properties create mode 100644 src/test/resources/mappings/sdc_find.json create mode 100644 src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439.json create mode 100644 src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_tosca.json create mode 100644 src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca.json (limited to 'src/test') diff --git a/src/test/java/org/onap/nbi/apis/resources/ApiTest.java b/src/test/java/org/onap/nbi/apis/resources/ApiTest.java new file mode 100644 index 0000000..05d332c --- /dev/null +++ b/src/test/java/org/onap/nbi/apis/resources/ApiTest.java @@ -0,0 +1,89 @@ +package org.onap.nbi.apis.resources; + + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.nbi.apis.servicecatalog.ServiceSpecificationResource; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.embedded.LocalServerPort; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.ResponseEntity; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import com.github.tomakehurst.wiremock.WireMockServer; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) +public class ApiTest { + + @LocalServerPort + int randomServerPort; + + String realServerPort; + + + static public WireMockServer wireMockServer = new WireMockServer(8091); + + @Autowired + ServiceSpecificationResource serviceSpecificationResource; + + @BeforeClass + public static void setUp() throws Exception { + wireMockServer.start(); + } + + @AfterClass + public static void tearsDown() throws Exception { + wireMockServer.stop(); + + } + + @After + public void tearsDownUpPort() throws Exception { + wireMockServer.resetToDefaultMappings(); + } + + @Test + @Ignore + public void testServiceResourceGetCatalog() throws Exception { + + ResponseEntity resource = + serviceSpecificationResource.getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439", null); + ServiceCatalogAssertions.assertGetServiceCatalog(resource); + + } + + @Test + public void testServiceCatalogGetResourceWithoutTosca() throws Exception { + + ResponseEntity resource = serviceSpecificationResource + .getServiceSpecification("1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca", null); + ServiceCatalogAssertions.asserGetServiceCatalogWithoutTosca(resource); + + } + + @Test + public void testServiceCatalogFind() throws Exception { + + ResponseEntity resource = serviceSpecificationResource.findServiceSpecification(null); + ServiceCatalogAssertions.assertFindServiceCatalog(resource); + + } + + + @Test + public void testServiceCatalogFindWithFilter() throws Exception { + + MultiValueMap params = new LinkedMultiValueMap<>(); + params.add("fields", "name"); + ResponseEntity resource = serviceSpecificationResource.findServiceSpecification(params); + ServiceCatalogAssertions.assertFindServiceCatalogWIthFilter(resource); + + } + +} diff --git a/src/test/java/org/onap/nbi/apis/resources/ServiceCatalogAssertions.java b/src/test/java/org/onap/nbi/apis/resources/ServiceCatalogAssertions.java new file mode 100644 index 0000000..19e2a2a --- /dev/null +++ b/src/test/java/org/onap/nbi/apis/resources/ServiceCatalogAssertions.java @@ -0,0 +1,135 @@ +package org.onap.nbi.apis.resources; + + +import com.fasterxml.jackson.databind.node.ObjectNode; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; + +import java.util.ArrayList; +import java.util.LinkedHashMap; + +import static org.assertj.core.api.Assertions.assertThat; + + +public class ServiceCatalogAssertions { + + + public static void assertGetServiceCatalog(ResponseEntity resource) { + assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK); + LinkedHashMap service = (LinkedHashMap) resource.getBody(); + assertThat(service.get("id")).isEqualTo("1e3feeb0-8e36-46c6-862c-236d9c626439"); + assertThat(service.get("name")).isEqualTo("vFW"); + assertThat(service.get("invariantUUID")).isEqualTo("b58a118e-eeb9-4f6e-bdca-e292f84d17df"); + assertThat(service.get("toscaModelURL")).isEqualTo("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/toscaModel"); + assertThat(service.get("distributionStatus")).isEqualTo("DISTRIBUTED"); + assertThat(service.get("version")).isEqualTo("2.0"); + assertThat(service.get("lifecycleStatus")).isEqualTo("CERTIFIED"); + assertThat(service.get("@type")).isEqualTo("ONAPservice"); + assertThat(((ArrayList) service.get("attachment")).size()).isEqualTo(5); + LinkedHashMap relatedParty = (LinkedHashMap) service.get("relatedParty"); + assertThat(relatedParty.get("name")).isEqualTo("Joni Mitchell"); + assertThat(relatedParty.get("role")).isEqualTo("lastUpdater"); + + + assertThat(((ArrayList) service.get("resourceSpecification")).size()).isEqualTo(2); + LinkedHashMap resource1 = (LinkedHashMap) ((ArrayList) service.get("resourceSpecification")).get(0); + assertThat(resource1.get("name")).isEqualTo("vFW-vSINK"); + assertThat(resource1.get("instanceName")).isEqualTo("vFW-vSINK 0"); + assertThat(resource1.get("resourceInvariantUUID")).isEqualTo("18b90934-aa82-456f-938e-e74a07a426f3"); + assertThat(resource1.get("@type")).isEqualTo("ONAPresource"); + assertThat(resource1.get("modelCustomizationId")).isEqualTo("f7ae574e-fd5f-41e7-9b21-75e001561c96"); + assertThat(resource1.get("modelCustomizationName")).isEqualTo("vFW-vSINK"); + + assertThat(((ArrayList) service.get("serviceSpecCharacteristic")).size()).isEqualTo(4); + ArrayList serviceSPecCharacteristics = (ArrayList) service.get("serviceSpecCharacteristic"); + for (Object serviceSPecCharacteristic : serviceSPecCharacteristics) { + LinkedHashMap serviceSPecCharacteristicMap = (LinkedHashMap) serviceSPecCharacteristic; + if (serviceSPecCharacteristicMap.get("name").toString().equals("cpus")) { + assertThat(serviceSPecCharacteristicMap.get("valueType")).isEqualTo("integer"); + assertThat(serviceSPecCharacteristicMap.get("@type")).isEqualTo("ONAPserviceCharacteristic"); + ArrayList serviceSpecCharacteristicValues = (ArrayList) serviceSPecCharacteristicMap.get("serviceSpecCharacteristicValue"); + for (Object serviceSpecCharacteristicValue : serviceSpecCharacteristicValues) { + LinkedHashMap serviceSpecCharacteristicValueMap = (LinkedHashMap) serviceSpecCharacteristicValue; + if (serviceSpecCharacteristicValueMap.get("value").toString().equals("2")) { + assertThat(serviceSpecCharacteristicValueMap.get("isDefault")).isEqualTo(true); + assertThat(serviceSpecCharacteristicValueMap.get("valueType")).isEqualTo("integer"); + } else { + assertThat(serviceSpecCharacteristicValueMap.get("isDefault")).isEqualTo(false); + assertThat(serviceSpecCharacteristicValueMap.get("valueType")).isEqualTo("integer"); + } + } + } + } + } + + + + public static void asserGetServiceCatalogWithoutTosca(ResponseEntity resource) { + assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.PARTIAL_CONTENT); + LinkedHashMap service = (LinkedHashMap) resource.getBody(); + assertThat(service.get("id")).isEqualTo("1e3feeb0-8e36-46c6-862c-236d9c626439"); + assertThat(service.get("name")).isEqualTo("vFW"); + assertThat(service.get("invariantUUID")).isEqualTo("b58a118e-eeb9-4f6e-bdca-e292f84d17df"); + assertThat(service.get("toscaModelURL")).isEqualTo("/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439toto/toscaModel"); + assertThat(service.get("distributionStatus")).isEqualTo("DISTRIBUTED"); + assertThat(service.get("version")).isEqualTo("2.0"); + assertThat(service.get("lifecycleStatus")).isEqualTo("CERTIFIED"); + assertThat(service.get("@type")).isEqualTo("ONAPservice"); + assertThat(((ArrayList) service.get("attachment")).size()).isEqualTo(5); + LinkedHashMap relatedParty = (LinkedHashMap) service.get("relatedParty"); + assertThat(relatedParty.get("name")).isEqualTo("Joni Mitchell"); + assertThat(relatedParty.get("role")).isEqualTo("lastUpdater"); + + + assertThat(((ArrayList) service.get("resourceSpecification")).size()).isEqualTo(2); + LinkedHashMap resource1 = (LinkedHashMap) ((ArrayList) service.get("resourceSpecification")).get(0); + assertThat(resource1.get("name")).isEqualTo("vFW-vSINK"); + assertThat(resource1.get("instanceName")).isEqualTo("vFW-vSINK 0"); + assertThat(resource1.get("resourceInvariantUUID")).isEqualTo("18b90934-aa82-456f-938e-e74a07a426f3"); + assertThat(resource1.get("@type")).isEqualTo("ONAPresource"); + assertThat(resource1.get("modelCustomizationId")).isNull(); + assertThat(resource1.get("modelCustomizationName")).isNull(); + + assertThat(service.get("serviceSpecCharacteristic")).isNull(); + } + + + + + public static void assertFindServiceCatalog(ResponseEntity resource) { + assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK); + ArrayList body = (ArrayList) resource.getBody(); + assertThat(body.size()).isEqualTo(21); + LinkedHashMap service1 = (LinkedHashMap) body.get(0); + assertThat(service1.get("id")).isEqualTo("446afaf6-79b5-420e-aff8-7551b00bb510"); + assertThat(service1.get("name")).isEqualTo("FreeRadius-service"); + assertThat(service1.get("invariantUUID")).isEqualTo("7e4781e8-6c6e-41c5-b889-6a321d5f2490"); + assertThat(service1.get("category")).isEqualTo("Network L4+"); + assertThat(service1.get("distributionStatus")).isEqualTo("DISTRIBUTED"); + assertThat(service1.get("version")).isEqualTo("1.0"); + assertThat(service1.get("lifecycleStatus")).isEqualTo("CERTIFIED"); + LinkedHashMap relatedParty = (LinkedHashMap) service1.get("relatedParty"); + assertThat(relatedParty.get("role")).isEqualTo("lastUpdater"); + } + + + + public static void assertFindServiceCatalogWIthFilter(ResponseEntity resource) { + assertThat(resource.getStatusCode()).isEqualTo(HttpStatus.OK); + ArrayList body = (ArrayList) resource.getBody(); + assertThat(body.size()).isEqualTo(21); + + + ObjectNode service1 = (ObjectNode) body.get(0); + assertThat(service1.get("id")).isNull(); + assertThat(service1.get("name").asText()).isEqualTo("FreeRadius-service"); + assertThat(service1.get("invariantUUID")).isNull(); + assertThat(service1.get("category")).isNull(); + assertThat(service1.get("distributionStatus")).isNull(); + assertThat(service1.get("version")).isNull(); + assertThat(service1.get("lifecycleStatus")).isNull(); + assertThat(service1.get("relatedParty")).isNull(); + } + +} + diff --git a/src/test/java/org/onap/nbi/apis/resources/StatusResourceTest.java b/src/test/java/org/onap/nbi/apis/resources/StatusResourceTest.java new file mode 100644 index 0000000..40e11c2 --- /dev/null +++ b/src/test/java/org/onap/nbi/apis/resources/StatusResourceTest.java @@ -0,0 +1,42 @@ +package org.onap.nbi.apis.resources; + + +import com.fasterxml.jackson.databind.node.ObjectNode; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.nbi.apis.status.StatusResource; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.test.context.junit4.SpringRunner; +import static org.assertj.core.api.Assertions.assertThat; + + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class StatusResourceTest { + + @Autowired + StatusResource statusResource; + + private MockHttpServletRequest request; + + @Before + public void setup() { + request = new MockHttpServletRequest(); + request.setRequestURI("/nbi/api/v1/status"); + } + + @Test + public void testHealthCheck() { + ResponseEntity response = statusResource.status(request); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + ObjectNode status = (ObjectNode) response.getBody(); + assertThat(status.get("name").textValue()).isEqualTo("nbi"); + assertThat(status.get("status").toString()).isEqualTo("OK"); + assertThat(status.get("version").textValue()).isEqualTo("v1"); + } +} diff --git a/src/test/java/org/onap/nbi/apis/status/StatusTest.java b/src/test/java/org/onap/nbi/apis/status/StatusTest.java deleted file mode 100644 index d262e15..0000000 --- a/src/test/java/org/onap/nbi/apis/status/StatusTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.onap.nbi.apis.status; - - -import com.fasterxml.jackson.databind.node.ObjectNode; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.mock.web.MockHttpServletRequest; -import org.springframework.test.context.junit4.SpringRunner; -import static org.assertj.core.api.Assertions.assertThat; - - -@RunWith(SpringRunner.class) -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -public class StatusTest { - - @Autowired - StatusResource statusResource; - - private MockHttpServletRequest request; - - @Before - public void setup() { - request = new MockHttpServletRequest(); - request.setRequestURI("/nbi/api/v1/status"); - } - - @Test - public void testHealthCheck() { - ResponseEntity response = statusResource.status(request); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - ObjectNode status = (ObjectNode) response.getBody(); - assertThat(status.get("name").textValue()).isEqualTo("nbi"); - assertThat(status.get("status").toString()).isEqualTo("OK"); - assertThat(status.get("version").textValue()).isEqualTo("v1"); - } -} diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties new file mode 100644 index 0000000..5d18ec8 --- /dev/null +++ b/src/test/resources/application.properties @@ -0,0 +1,13 @@ +# SERVER +server.contextPath=/nbi/api/v1 +server.port = 8080 + +# LOGGING +logging.level.org.onap.nbi=DEBUG +logging.level.org.springframework.cloud.contract.wiremock=DEBUG + +# SDC +sdc.host=http://127.0.0.1:8091 +sdc.header.ecompInstanceId=Rene +sdc.header.authorization=Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU= + diff --git a/src/test/resources/mappings/sdc_find.json b/src/test/resources/mappings/sdc_find.json new file mode 100644 index 0000000..e992f2b --- /dev/null +++ b/src/test/resources/mappings/sdc_find.json @@ -0,0 +1,244 @@ +{ + "request": { + "method": "GET", + "urlPath": "/sdc/v1/catalog/services/" + }, + "response": { + "status": 200, + "jsonBody": [{ + "uuid": "446afaf6-79b5-420e-aff8-7551b00bb510", + "invariantUUID": "7e4781e8-6c6e-41c5-b889-6a321d5f2490", + "name": "FreeRadius-service", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/446afaf6-79b5-420e-aff8-7551b00bb510/toscaModel", + "category": "Network L4+", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "35911438-4621-439b-a23d-3e07680c724b", + "invariantUUID": "ca2f0af5-95e4-4058-b037-5c0de0f80bfa", + "name": "vIMS", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/35911438-4621-439b-a23d-3e07680c724b/toscaModel", + "category": "E2E Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "8cdc744a-9327-47cc-a9de-67d8d46b816f", + "invariantUUID": "d2b9c343-c41a-4f85-ae36-c53cd4b7abcc", + "name": "vIMSservice3", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/8cdc744a-9327-47cc-a9de-67d8d46b816f/toscaModel", + "category": "VoIP Call Control", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "fcea1d5b-c8de-4355-8fda-64e0d84494e6", + "invariantUUID": "b58a118e-eeb9-4f6e-bdca-e292f84d17df", + "name": "vFW-service-2VF-based", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/fcea1d5b-c8de-4355-8fda-64e0d84494e6/toscaModel", + "category": "Network Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "9d356a71-ac7a-40f0-b2b2-b302c8b4ef63", + "invariantUUID": "4526a034-e4fc-4ea3-87d0-8b8fca4a93b1", + "name": "serviceFRDBS", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/9d356a71-ac7a-40f0-b2b2-b302c8b4ef63/toscaModel", + "category": "Network L4+", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "b821e80a-40a5-4fab-ac5d-3d49a54c4db3", + "invariantUUID": "9765d74e-c8f2-4982-bc90-548c854cbde6", + "name": "EricDebeau", + "version": "0.1", + "toscaModelURL": "/sdc/v1/catalog/services/b821e80a-40a5-4fab-ac5d-3d49a54c4db3/toscaModel", + "category": "Network L4+", + "lifecycleState": "NOT_CERTIFIED_CHECKIN", + "lastUpdaterUserId": "cs0008", + "distributionStatus": "DISTRIBUTION_NOT_APPROVED" + }, + { + "uuid": "cc3ec088-227c-49e2-b4c3-237214b88c84", + "invariantUUID": "e1685613-136b-4990-a590-d0651a640a68", + "name": "vMRFaaS4", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/cc3ec088-227c-49e2-b4c3-237214b88c84/toscaModel", + "category": "Network Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "10be4044-8217-4397-8b62-85c58688d4ba", + "invariantUUID": "a62a335f-a6e3-40dd-8b60-de8410301240", + "name": "OPL_FWtest1_service", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/10be4044-8217-4397-8b62-85c58688d4ba/toscaModel", + "category": "Network L4+", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "3dd3923d-1681-4f5b-99bb-f695ab147004", + "invariantUUID": "026e8046-4d3a-41d9-b4c2-6793186fd83d", + "name": "vFW", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/3dd3923d-1681-4f5b-99bb-f695ab147004/toscaModel", + "category": "Network Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "d15de0e3-d8fe-4cc3-a0b1-809ea95cbac8", + "invariantUUID": "6046d5f5-b39e-4306-a47e-0762c88d8b93", + "name": "1f298e99-082b-4a7f-a579", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/d15de0e3-d8fe-4cc3-a0b1-809ea95cbac8/toscaModel", + "category": "Network L1-3", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "f5ab9333-692f-42bc-b5dc-3ed753aa0d14", + "invariantUUID": "83a9f465-24d2-4dd3-98b8-328481cf9340", + "name": "c55011b0-f26c-43dd-9a62", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/f5ab9333-692f-42bc-b5dc-3ed753aa0d14/toscaModel", + "category": "Network L1-3", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "33826edf-fddd-4891-b726-8f16ea0e020c", + "invariantUUID": "0475334e-e141-42b3-b3ee-4df049c3cd53", + "name": "ccfc0cb4-bdff-4ae2-aa0e", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/33826edf-fddd-4891-b726-8f16ea0e020c/toscaModel", + "category": "Network L1-3", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "340bf137-8c6c-4d5b-b185-19364dfc74ed", + "invariantUUID": "7e4781e8-6c6e-41c5-b889-6a321d5f2490", + "name": "FreeRadius-service", + "version": "2.0", + "toscaModelURL": "/sdc/v1/catalog/services/340bf137-8c6c-4d5b-b185-19364dfc74ed/toscaModel", + "category": "Network L4+", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "d0cac11e-332f-47e8-86d8-cb0b82655bb9", + "invariantUUID": "ca2f0af5-95e4-4058-b037-5c0de0f80bfa", + "name": "vIMS", + "version": "2.0", + "toscaModelURL": "/sdc/v1/catalog/services/d0cac11e-332f-47e8-86d8-cb0b82655bb9/toscaModel", + "category": "E2E Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "e245a0a2-34fc-46c7-912c-bd39305275c1", + "invariantUUID": "29db0b2c-a877-45e8-8175-4ac526d87eee", + "name": "vMRFaaS", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/e245a0a2-34fc-46c7-912c-bd39305275c1/toscaModel", + "category": "Network L4+", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "b9e06990-99e2-480f-96ac-c6e50c83f2bb", + "invariantUUID": "008943ad-73be-4d57-9105-962c4cb16a71", + "name": "vMRFaas2", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/b9e06990-99e2-480f-96ac-c6e50c83f2bb/toscaModel", + "category": "Network L4+", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "98d95267-5e0f-4531-abf8-f14b90031dc5", + "invariantUUID": "709d157b-52fb-4250-976e-7133dff5c347", + "name": "NewFreeRadius-service", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/98d95267-5e0f-4531-abf8-f14b90031dc5/toscaModel", + "category": "Network L4+", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "d8d2429b-0863-462c-adc7-cd38d77331ed", + "invariantUUID": "e1685613-136b-4990-a590-d0651a640a68", + "name": "vMRFaaS4", + "version": "1.1", + "toscaModelURL": "/sdc/v1/catalog/services/d8d2429b-0863-462c-adc7-cd38d77331ed/toscaModel", + "category": "Network Service", + "lifecycleState": "NOT_CERTIFIED_CHECKOUT", + "lastUpdaterUserId": "cs0008", + "distributionStatus": "DISTRIBUTION_NOT_APPROVED" + }, + { + "uuid": "9cfc73ad-795d-42ad-8a4f-54e6b3f33ef9", + "invariantUUID": "79f0574e-caf8-4bac-8189-909b2127e9e9", + "name": "vMRFaaS3", + "version": "1.0", + "toscaModelURL": "/sdc/v1/catalog/services/9cfc73ad-795d-42ad-8a4f-54e6b3f33ef9/toscaModel", + "category": "Network Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "af1ac9db-9d8b-4ca0-964c-58755826b59a", + "invariantUUID": "d2b9c343-c41a-4f85-ae36-c53cd4b7abcc", + "name": "vIMSservice3", + "version": "2.0", + "toscaModelURL": "/sdc/v1/catalog/services/af1ac9db-9d8b-4ca0-964c-58755826b59a/toscaModel", + "category": "VoIP Call Control", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + }, + { + "uuid": "1e3feeb0-8e36-46c6-862c-236d9c626439", + "invariantUUID": "b58a118e-eeb9-4f6e-bdca-e292f84d17df", + "name": "vFW-service-2VF-based", + "version": "2.0", + "toscaModelURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/toscaModel", + "category": "Network Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED" + } + ], + "headers": { + "Content-Type": "application/json" + } + } +} diff --git a/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439.json b/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439.json new file mode 100644 index 0000000..3aeff82 --- /dev/null +++ b/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439.json @@ -0,0 +1,213 @@ +{ + "request": { + "method": "GET", + "urlPath": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/metadata" + }, + "response": { + "status": 200, + "jsonBody": { + "uuid": "1e3feeb0-8e36-46c6-862c-236d9c626439", + "invariantUUID": "b58a118e-eeb9-4f6e-bdca-e292f84d17df", + "name": "vFW", + "version": "2.0", + "toscaModelURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/toscaModel", + "category": "Network Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED", + "lastUpdaterFullName": "Joni Mitchell", + "resources": [{ + "resourceInstanceName": "vFW-vSINK 0", + "resourceName": "vFW-vSINK", + "resourceInvariantUUID": "18b90934-aa82-456f-938e-e74a07a426f3", + "resourceVersion": "2.0", + "resoucreType": "VF", + "resourceUUID": "89a6b4c5-3973-4c19-b651-fae3713ca8d5", + "artifacts": [{ + "artifactName": "vf-license-model.xml", + "artifactType": "VF_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/f6fa3f94-f5cd-4233-a7b2-b5e8dc2e1ec6", + "artifactDescription": "VF license file", + "artifactChecksum": "NDQ2NzIxNzgyMjZhNTc1NDNlMWU0ODI1ZmIyNjc3Zjg=", + "artifactUUID": "f6fa3f94-f5cd-4233-a7b2-b5e8dc2e1ec6", + "artifactVersion": "1", + "artifactLabel": "vflicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vfwvsink0_modules.json", + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/d0aaecf9-6ffb-4b4b-81fd-c59c1e8e6fb6", + "artifactDescription": "Auto-generated VF Modules information artifact", + "artifactChecksum": "ZGIyOWY3YzE0MTM2MjlhMjY1ZjkzNDg3YjE2ZmQxY2Y=", + "artifactUUID": "d0aaecf9-6ffb-4b4b-81fd-c59c1e8e6fb6", + "artifactVersion": "1", + "artifactLabel": "vfModulesMetadata", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vfw.yaml", + "artifactType": "HEAT", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/c94e8eec-b1a7-431c-ab6f-2fda5f0ee920", + "artifactDescription": "created from csar", + "artifactTimeout": 60, + "artifactChecksum": "YTY0MDg5ODUwZDE4YzQyYWI0NjE5Y2NjYmM3ZDg5ZGE=", + "artifactUUID": "c94e8eec-b1a7-431c-ab6f-2fda5f0ee920", + "artifactVersion": "4", + "artifactLabel": "heat1", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vendor-license-model.xml", + "artifactType": "VENDOR_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/423d2c66-6c3a-4257-9342-7b57ebf9dd54", + "artifactDescription": " Vendor license file", + "artifactChecksum": "YTNhYTc3ZGE4ZWViMmYzOThkOGQ3ZTVjZGNmNmU0ZmQ=", + "artifactUUID": "423d2c66-6c3a-4257-9342-7b57ebf9dd54", + "artifactVersion": "1", + "artifactLabel": "vendorlicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vfw.env", + "artifactType": "HEAT_ENV", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/a1a58cc9-8225-4b6f-b81a-02fa3c7fb6ec", + "artifactDescription": "Auto-generated HEAT Environment deployment artifact", + "artifactChecksum": "ZmVkM2MwODhlZjcwNWY5MDk5ZGEyMjI5ZTAyYWRjNjY=", + "artifactUUID": "a1a58cc9-8225-4b6f-b81a-02fa3c7fb6ec", + "artifactVersion": "2", + "generatedFromUUID": "32591489-33c9-4461-a47c-7c463250788d.heat1", + "artifactLabel": "heat1env", + "artifactGroupType": "DEPLOYMENT" + } + ] + }, + { + "resourceInstanceName": "vPkG 0", + "resourceName": "vPkG", + "resourceInvariantUUID": "8d8a20c0-746c-4d5e-a1a2-fa49fa5786ad", + "resourceVersion": "2.0", + "resoucreType": "VF", + "resourceUUID": "31961e27-2a2c-4beb-87c9-bfe0067088f5", + "artifacts": [{ + "artifactName": "vf-license-model.xml", + "artifactType": "VF_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/7af6cc3b-2ba3-4164-9d7d-65b3b46a71f4", + "artifactDescription": "VF license file", + "artifactChecksum": "MWM5NDlmNjdhZTdmZTA5MzIzY2RhYjcxZmFkYzQyZDM=", + "artifactUUID": "7af6cc3b-2ba3-4164-9d7d-65b3b46a71f4", + "artifactVersion": "1", + "artifactLabel": "vflicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vpkg0_modules.json", + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/37b16173-bd54-447f-a5a2-1a5e24db8afb", + "artifactDescription": "Auto-generated VF Modules information artifact", + "artifactChecksum": "ZDA3MWQ3MTE3MTA1MzNkY2M1ODQ4YTUxN2YwMDk0MmM=", + "artifactUUID": "37b16173-bd54-447f-a5a2-1a5e24db8afb", + "artifactVersion": "1", + "artifactLabel": "vfModulesMetadata", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vpkg.yaml", + "artifactType": "HEAT", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/43184998-c107-40a7-92f6-00ba74de8539", + "artifactDescription": "created from csar", + "artifactTimeout": 60, + "artifactChecksum": "NDZhY2U0YTExZjllNTFmZjc4ZTE4YzU2Zjk1ZDc2MWI=", + "artifactUUID": "43184998-c107-40a7-92f6-00ba74de8539", + "artifactVersion": "4", + "artifactLabel": "heat1", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vendor-license-model.xml", + "artifactType": "VENDOR_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/6cd5f968-20aa-4b86-9a50-97db5e4ca806", + "artifactDescription": " Vendor license file", + "artifactChecksum": "YTNhYTc3ZGE4ZWViMmYzOThkOGQ3ZTVjZGNmNmU0ZmQ=", + "artifactUUID": "6cd5f968-20aa-4b86-9a50-97db5e4ca806", + "artifactVersion": "1", + "artifactLabel": "vendorlicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vpkg.env", + "artifactType": "HEAT_ENV", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/60944038-d382-4aa6-b387-7b87c9c9df19", + "artifactDescription": "Auto-generated HEAT Environment deployment artifact", + "artifactChecksum": "OGU0OGFlZTFiZDdhYmQ0MmM0MjAyY2U5YjljYWViYTA=", + "artifactUUID": "60944038-d382-4aa6-b387-7b87c9c9df19", + "artifactVersion": "2", + "generatedFromUUID": "0d3918df-ea14-4fc3-a5c9-34032eaae573.heat1", + "artifactLabel": "heat1env", + "artifactGroupType": "DEPLOYMENT" + } + ] + } + ], + "artifacts": [{ + "artifactName": "AAI-vFW-service-2VF-based-service-2.0.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/2e6cd967-93c2-4f53-82bd-c56ab98e8df7", + "artifactDescription": "AAI Service Model", + "artifactChecksum": "ZTY5ZTJmYTY4YzE2NGUxMTQxNWNkN2QzMmI4MWIzNDU=", + "artifactUUID": "2e6cd967-93c2-4f53-82bd-c56ab98e8df7", + "artifactVersion": "1", + "artifactLabel": "aaiservice1603481860", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-Vpkg..base_vpkg..module-0-resource-2.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/ad600a09-edde-4356-bb0a-9e638a671d06", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "MzQyMjczOGVmYzM1OWQ1NmFhZjBhOWUxM2JjMmYxZTQ=", + "artifactUUID": "ad600a09-edde-4356-bb0a-9e638a671d06", + "artifactVersion": "1", + "artifactLabel": "aairesource529289386", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-vFW-vSINK-resource-2.0.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/413a631e-69c4-453b-ab68-fac09b390259", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "ZWRmMzQzYzc0MThlYjQ1YjY2ZTFkYzJmMjAyNzQ1YWU=", + "artifactUUID": "413a631e-69c4-453b-ab68-fac09b390259", + "artifactVersion": "1", + "artifactLabel": "aairesource1461475898", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-vPkG-resource-2.0.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/aee30754-eec4-4820-ae3a-790b80b76e81", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "OGQ4ZTdhYjkyZDRkYmFiZTBhNWU4MDc4YTM2YjY1NmI=", + "artifactUUID": "aee30754-eec4-4820-ae3a-790b80b76e81", + "artifactVersion": "1", + "artifactLabel": "aairesource936479495", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-VfwVsink..base_vfw..module-0-resource-2.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/ac9a3bbf-a052-4176-abff-fe2d2741194a", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "OWIzNjVhNmI2ZWYyZThlMjk1NjA2MDFhZTU3MGQ0ZDU=", + "artifactUUID": "ac9a3bbf-a052-4176-abff-fe2d2741194a", + "artifactVersion": "1", + "artifactLabel": "aairesource1106409880", + "artifactGroupType": "DEPLOYMENT" + } + ] + }, + "headers": { + "Content-Type": "application/json" + } + } +} \ No newline at end of file diff --git a/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_tosca.json b/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_tosca.json new file mode 100644 index 0000000..2090397 --- /dev/null +++ b/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_tosca.json @@ -0,0 +1,10 @@ +{ + "request": { + "method": "GET", + "urlPath": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/toscaModel" + }, + "response": { + "status": 200, + "bodyFileName": "response" + } +} \ No newline at end of file diff --git a/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca.json b/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca.json new file mode 100644 index 0000000..567503a --- /dev/null +++ b/src/test/resources/mappings/sdc_get_1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca.json @@ -0,0 +1,213 @@ +{ + "request": { + "method": "GET", + "urlPath": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439_withoutTosca/metadata" + }, + "response": { + "status": 200, + "jsonBody": { + "uuid": "1e3feeb0-8e36-46c6-862c-236d9c626439", + "invariantUUID": "b58a118e-eeb9-4f6e-bdca-e292f84d17df", + "name": "vFW", + "version": "2.0", + "toscaModelURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439toto/toscaModel", + "category": "Network Service", + "lifecycleState": "CERTIFIED", + "lastUpdaterUserId": "jm0007", + "distributionStatus": "DISTRIBUTED", + "lastUpdaterFullName": "Joni Mitchell", + "resources": [{ + "resourceInstanceName": "vFW-vSINK 0", + "resourceName": "vFW-vSINK", + "resourceInvariantUUID": "18b90934-aa82-456f-938e-e74a07a426f3", + "resourceVersion": "2.0", + "resoucreType": "VF", + "resourceUUID": "89a6b4c5-3973-4c19-b651-fae3713ca8d5", + "artifacts": [{ + "artifactName": "vf-license-model.xml", + "artifactType": "VF_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/f6fa3f94-f5cd-4233-a7b2-b5e8dc2e1ec6", + "artifactDescription": "VF license file", + "artifactChecksum": "NDQ2NzIxNzgyMjZhNTc1NDNlMWU0ODI1ZmIyNjc3Zjg=", + "artifactUUID": "f6fa3f94-f5cd-4233-a7b2-b5e8dc2e1ec6", + "artifactVersion": "1", + "artifactLabel": "vflicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vfwvsink0_modules.json", + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/d0aaecf9-6ffb-4b4b-81fd-c59c1e8e6fb6", + "artifactDescription": "Auto-generated VF Modules information artifact", + "artifactChecksum": "ZGIyOWY3YzE0MTM2MjlhMjY1ZjkzNDg3YjE2ZmQxY2Y=", + "artifactUUID": "d0aaecf9-6ffb-4b4b-81fd-c59c1e8e6fb6", + "artifactVersion": "1", + "artifactLabel": "vfModulesMetadata", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vfw.yaml", + "artifactType": "HEAT", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/c94e8eec-b1a7-431c-ab6f-2fda5f0ee920", + "artifactDescription": "created from csar", + "artifactTimeout": 60, + "artifactChecksum": "YTY0MDg5ODUwZDE4YzQyYWI0NjE5Y2NjYmM3ZDg5ZGE=", + "artifactUUID": "c94e8eec-b1a7-431c-ab6f-2fda5f0ee920", + "artifactVersion": "4", + "artifactLabel": "heat1", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vendor-license-model.xml", + "artifactType": "VENDOR_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/423d2c66-6c3a-4257-9342-7b57ebf9dd54", + "artifactDescription": " Vendor license file", + "artifactChecksum": "YTNhYTc3ZGE4ZWViMmYzOThkOGQ3ZTVjZGNmNmU0ZmQ=", + "artifactUUID": "423d2c66-6c3a-4257-9342-7b57ebf9dd54", + "artifactVersion": "1", + "artifactLabel": "vendorlicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vfw.env", + "artifactType": "HEAT_ENV", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vfwvsink0/artifacts/a1a58cc9-8225-4b6f-b81a-02fa3c7fb6ec", + "artifactDescription": "Auto-generated HEAT Environment deployment artifact", + "artifactChecksum": "ZmVkM2MwODhlZjcwNWY5MDk5ZGEyMjI5ZTAyYWRjNjY=", + "artifactUUID": "a1a58cc9-8225-4b6f-b81a-02fa3c7fb6ec", + "artifactVersion": "2", + "generatedFromUUID": "32591489-33c9-4461-a47c-7c463250788d.heat1", + "artifactLabel": "heat1env", + "artifactGroupType": "DEPLOYMENT" + } + ] + }, + { + "resourceInstanceName": "vPkG 0", + "resourceName": "vPkG", + "resourceInvariantUUID": "8d8a20c0-746c-4d5e-a1a2-fa49fa5786ad", + "resourceVersion": "2.0", + "resoucreType": "VF", + "resourceUUID": "31961e27-2a2c-4beb-87c9-bfe0067088f5", + "artifacts": [{ + "artifactName": "vf-license-model.xml", + "artifactType": "VF_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/7af6cc3b-2ba3-4164-9d7d-65b3b46a71f4", + "artifactDescription": "VF license file", + "artifactChecksum": "MWM5NDlmNjdhZTdmZTA5MzIzY2RhYjcxZmFkYzQyZDM=", + "artifactUUID": "7af6cc3b-2ba3-4164-9d7d-65b3b46a71f4", + "artifactVersion": "1", + "artifactLabel": "vflicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vpkg0_modules.json", + "artifactType": "VF_MODULES_METADATA", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/37b16173-bd54-447f-a5a2-1a5e24db8afb", + "artifactDescription": "Auto-generated VF Modules information artifact", + "artifactChecksum": "ZDA3MWQ3MTE3MTA1MzNkY2M1ODQ4YTUxN2YwMDk0MmM=", + "artifactUUID": "37b16173-bd54-447f-a5a2-1a5e24db8afb", + "artifactVersion": "1", + "artifactLabel": "vfModulesMetadata", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vpkg.yaml", + "artifactType": "HEAT", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/43184998-c107-40a7-92f6-00ba74de8539", + "artifactDescription": "created from csar", + "artifactTimeout": 60, + "artifactChecksum": "NDZhY2U0YTExZjllNTFmZjc4ZTE4YzU2Zjk1ZDc2MWI=", + "artifactUUID": "43184998-c107-40a7-92f6-00ba74de8539", + "artifactVersion": "4", + "artifactLabel": "heat1", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "vendor-license-model.xml", + "artifactType": "VENDOR_LICENSE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/6cd5f968-20aa-4b86-9a50-97db5e4ca806", + "artifactDescription": " Vendor license file", + "artifactChecksum": "YTNhYTc3ZGE4ZWViMmYzOThkOGQ3ZTVjZGNmNmU0ZmQ=", + "artifactUUID": "6cd5f968-20aa-4b86-9a50-97db5e4ca806", + "artifactVersion": "1", + "artifactLabel": "vendorlicense", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "base_vpkg.env", + "artifactType": "HEAT_ENV", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/resourceInstances/vpkg0/artifacts/60944038-d382-4aa6-b387-7b87c9c9df19", + "artifactDescription": "Auto-generated HEAT Environment deployment artifact", + "artifactChecksum": "OGU0OGFlZTFiZDdhYmQ0MmM0MjAyY2U5YjljYWViYTA=", + "artifactUUID": "60944038-d382-4aa6-b387-7b87c9c9df19", + "artifactVersion": "2", + "generatedFromUUID": "0d3918df-ea14-4fc3-a5c9-34032eaae573.heat1", + "artifactLabel": "heat1env", + "artifactGroupType": "DEPLOYMENT" + } + ] + } + ], + "artifacts": [{ + "artifactName": "AAI-vFW-service-2VF-based-service-2.0.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/2e6cd967-93c2-4f53-82bd-c56ab98e8df7", + "artifactDescription": "AAI Service Model", + "artifactChecksum": "ZTY5ZTJmYTY4YzE2NGUxMTQxNWNkN2QzMmI4MWIzNDU=", + "artifactUUID": "2e6cd967-93c2-4f53-82bd-c56ab98e8df7", + "artifactVersion": "1", + "artifactLabel": "aaiservice1603481860", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-Vpkg..base_vpkg..module-0-resource-2.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/ad600a09-edde-4356-bb0a-9e638a671d06", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "MzQyMjczOGVmYzM1OWQ1NmFhZjBhOWUxM2JjMmYxZTQ=", + "artifactUUID": "ad600a09-edde-4356-bb0a-9e638a671d06", + "artifactVersion": "1", + "artifactLabel": "aairesource529289386", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-vFW-vSINK-resource-2.0.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/413a631e-69c4-453b-ab68-fac09b390259", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "ZWRmMzQzYzc0MThlYjQ1YjY2ZTFkYzJmMjAyNzQ1YWU=", + "artifactUUID": "413a631e-69c4-453b-ab68-fac09b390259", + "artifactVersion": "1", + "artifactLabel": "aairesource1461475898", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-vPkG-resource-2.0.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/aee30754-eec4-4820-ae3a-790b80b76e81", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "OGQ4ZTdhYjkyZDRkYmFiZTBhNWU4MDc4YTM2YjY1NmI=", + "artifactUUID": "aee30754-eec4-4820-ae3a-790b80b76e81", + "artifactVersion": "1", + "artifactLabel": "aairesource936479495", + "artifactGroupType": "DEPLOYMENT" + }, + { + "artifactName": "AAI-VfwVsink..base_vfw..module-0-resource-2.xml", + "artifactType": "MODEL_INVENTORY_PROFILE", + "artifactURL": "/sdc/v1/catalog/services/1e3feeb0-8e36-46c6-862c-236d9c626439/artifacts/ac9a3bbf-a052-4176-abff-fe2d2741194a", + "artifactDescription": "AAI Resource Model", + "artifactChecksum": "OWIzNjVhNmI2ZWYyZThlMjk1NjA2MDFhZTU3MGQ0ZDU=", + "artifactUUID": "ac9a3bbf-a052-4176-abff-fe2d2741194a", + "artifactVersion": "1", + "artifactLabel": "aairesource1106409880", + "artifactGroupType": "DEPLOYMENT" + } + ] + }, + "headers": { + "Content-Type": "application/json" + } + } +} \ No newline at end of file -- cgit 1.2.3-korg