aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsujitsatapathy <SS00626741@techmahindra.com>2020-09-09 10:18:15 +0000
committersujitsatapathy <SS00626741@techmahindra.com>2020-09-09 10:32:31 +0000
commitc8cd23a64ef20436bac38923f6dc7f77e7b95c08 (patch)
treea00946c019dc3372e9e00d7ee2889f95e5d6049e
parente44331581196644015a40dcaa38a86ce0f84c76c (diff)
Preparing the request payload (action = delete) for calling SO macro flow
code changes for delete action. Issue-ID: EXTAPI-448 Change-Id: I6bb9786660f6760c15008132e2c254e7f9b89654 Signed-off-by: sujitsatapathy <SS00626741@techmahindra.com>
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java27
-rw-r--r--src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java4
-rw-r--r--src/test/java/org/onap/nbi/test/ExecutionTaskTest.java36
-rw-r--r--src/test/resources/karatetest/data/serviceOrder.json62
-rw-r--r--src/test/resources/karatetest/features/02--ServiceOrder.feature13
-rw-r--r--src/test/resources/mappings/so/so_delete_macro_service_instance.json19
6 files changed, 158 insertions, 3 deletions
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java b/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java
index 8e58c39..e0e4bb5 100644
--- a/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java
+++ b/src/main/java/org/onap/nbi/apis/serviceorder/SoClient.java
@@ -195,6 +195,33 @@ public class SoClient {
}
}
+ //Delete Macro
+
+ public ResponseEntity<CreateMacroServiceInstanceResponse> callMacroDeleteServiceInstance(MSOPayload msoPayload,
+ String serviceId) {
+
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.debug("Calling SO Macro DeleteServiceInstance with msoPayload : " + msoPayload.toString());
+ }
+
+ String url = deleteSoUrl + serviceId;
+
+ try {
+ ResponseEntity<CreateMacroServiceInstanceResponse> response = restTemplate.exchange(url, HttpMethod.DELETE,
+ new HttpEntity<>(msoPayload, buildRequestHeader()), CreateMacroServiceInstanceResponse.class);
+
+ logMacroResponsePost(url, response);
+ return response;
+
+ } catch (BackendFunctionalException e) {
+ LOGGER.error(ERROR_ON_CALLING + url + " ," + e);
+ return new ResponseEntity<>(e.getHttpStatus());
+ } catch (ResourceAccessException e) {
+ LOGGER.error(ERROR_ON_CALLING + url + " ," + e);
+ return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
+ }
+
+ }
public ResponseEntity<CreateE2EServiceInstanceResponse> callE2EDeleteServiceInstance(String globalSubscriberId,
String serviceType, String serviceInstanceId) {
diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java
index 4568b80..c356bdd 100644
--- a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java
+++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/PostSoProcessor.java
@@ -226,8 +226,8 @@ public class PostSoProcessor {
response = soClient.callMacroCreateServiceInstance(msoMacroPayload);
break;
case DELETE:
- // response = soClient.callDeleteServiceInstance(msoPayload,
- // serviceOrderItem.getService().getId());
+ response = soClient.callMacroDeleteServiceInstance(msoMacroPayload,
+ serviceOrderItem.getService().getId());
break;
case MODIFY:
if (StateType.INPROGRESS_MODIFY_ITEM_TO_CREATE == serviceOrderItem.getState()) {
diff --git a/src/test/java/org/onap/nbi/test/ExecutionTaskTest.java b/src/test/java/org/onap/nbi/test/ExecutionTaskTest.java
index b58fb1c..99f6044 100644
--- a/src/test/java/org/onap/nbi/test/ExecutionTaskTest.java
+++ b/src/test/java/org/onap/nbi/test/ExecutionTaskTest.java
@@ -365,7 +365,41 @@ public class ExecutionTaskTest {
assertThat(executionTaskRepository.count()).isEqualTo(0);
}
-
+ //Test Macro Execution Delete
+ @Test
+ public void testMacroExecutionTaskDeleteSuccess() throws Exception {
+
+ ExecutionTask executionTaskA =ServiceOrderExecutionTaskAssertions.setUpBddForMacroExecutionTaskSucess(
+ serviceOrderRepository, executionTaskRepository, ActionType.DELETE);
+ ExecutionTask executionTaskB;
+
+ SoTaskProcessor.processOrderItem(executionTaskA);
+ ServiceOrder serviceOrderChecked = getServiceOrder("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.INPROGRESS);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ if (serviceOrderItem.getId().equals("A")) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+ } else {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.ACKNOWLEDGED);
+ }
+ }
+
+ executionTaskB = getExecutionTask("B");
+ assertThat(executionTaskB.getReliedTasks()).isNullOrEmpty();
+ executionTaskA = getExecutionTask("A");
+ assertThat(executionTaskA).isNull();
+
+ SoTaskProcessor.processOrderItem(executionTaskB);
+ serviceOrderChecked = getServiceOrder("test");
+ assertThat(serviceOrderChecked.getState()).isEqualTo(StateType.COMPLETED);
+ for (ServiceOrderItem serviceOrderItem : serviceOrderChecked.getOrderItem()) {
+ assertThat(serviceOrderItem.getState()).isEqualTo(StateType.COMPLETED);
+
+ }
+
+ assertThat(executionTaskRepository.count()).isEqualTo(0);
+
+ }
// Macro Flow Execution Task
@Test
public void testMacroExecutionTaskSuccess() throws Exception {
diff --git a/src/test/resources/karatetest/data/serviceOrder.json b/src/test/resources/karatetest/data/serviceOrder.json
index 5437fac..aee4ce9 100644
--- a/src/test/resources/karatetest/data/serviceOrder.json
+++ b/src/test/resources/karatetest/data/serviceOrder.json
@@ -1064,5 +1064,67 @@
]
}
]
+ },
+ {
+ "state": "acknowledged",
+ "externalId": "LudONAP001",
+ "priority": "1",
+ "description": "Ludo first ONAP order",
+ "category": "Consumer",
+ "requestedStartDate": "2019-01-23T12:34:56.123456789Z",
+ "requestedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@baseType": "toto",
+ "completionDateTime": "2019-01-23T12:34:56.123456789Z",
+ "expectedCompletionDate": "2019-01-23T12:34:56.123456789Z",
+ "@schemaLocation": "/tutu",
+ "orderRelationship": [
+ {
+ "id": "test",
+ "href": "test",
+ "referredType": "test",
+ "type": "test"
+ }
+ ],
+ "relatedParty": [
+ {
+ "id": "6490",
+ "role": "ONAPcustomer",
+ "referredType": "individual",
+ "name": "Jean Pontus"
+ }
+ ],
+ "orderItem": [
+ {
+ "id": "A",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "null",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "82c9fbb4-656c-4973-8c7f-172b22b5fa8f"
+ }
+ }
+ },
+ {
+ "id": "B",
+ "action": "delete",
+ "state": "active",
+ "service": {
+ "id": "null",
+ "state": "active",
+ "serviceSpecification": {
+ "id": "82c9fbb4-656c-4973-8c7f-172b22b5fa8f"
+ }
+ },
+ "orderItemRelationship": [
+ {
+ "id": "A",
+ "type": "reliesOn"
+ }
+ ]
+ }
+ ]
}
]
+
diff --git a/src/test/resources/karatetest/features/02--ServiceOrder.feature b/src/test/resources/karatetest/features/02--ServiceOrder.feature
index f5985a9..4f89c1a 100644
--- a/src/test/resources/karatetest/features/02--ServiceOrder.feature
+++ b/src/test/resources/karatetest/features/02--ServiceOrder.feature
@@ -234,6 +234,19 @@ Given path 'serviceOrder',serviceOrderId
When method delete
Then status 204
+Scenario: testCheckServiceOrderDeleteActionForMacro
+Given path 'serviceOrder'
+And request data[18]
+When method post
+Then status 201
+And def serviceOrderId = $.id
+Given path 'serviceOrder',serviceOrderId
+When method get
+Then status 200
+Given path 'serviceOrder',serviceOrderId
+When method delete
+Then status 204
+
Scenario: testCheckServiceOrderDeleteRejected
Given path 'serviceOrder'
And request data[10]
diff --git a/src/test/resources/mappings/so/so_delete_macro_service_instance.json b/src/test/resources/mappings/so/so_delete_macro_service_instance.json
new file mode 100644
index 0000000..ce57a27
--- /dev/null
+++ b/src/test/resources/mappings/so/so_delete_macro_service_instance.json
@@ -0,0 +1,19 @@
+{
+ "request": {
+ "method": "DELETE",
+ "url": "/onap/so/infra/serviceInstantiation/v7/serviceInstances/82c9fbb4-656c-4973-8c7f-172b22b5fa8f"
+ },
+ "response": {
+ "status": 202,
+ "headers": {
+ "Content-Type": "application/json"
+ },
+ "jsonBody": {
+ "requestReferences": {
+ "instanceId": "instanceId",
+ "requestId": "requestId"
+ }
+ }
+ }
+}
+