added generic fabric support to SO
Fix Autoincrement of ID field in table
Fix accidental removal of method
Update usage of requestdb client
removed unused imports in common tasks and test
Fix broken branch, have unit tests pass
references
the Epic branch
Fix broken branch from compiling
committing classpath for vfc adapter cause its not going away
added in the fail case for when there are no profiles
removed second set of adapters in application test yml
removed double adapters in request db application test
added jpa repo dependency to the so bpmn folder pom
add creation timestamp column to the table
added in null checks for Config returned from policy
switched to string in requestprocess with jenerate
switched to string in requestprocess with jenerate
updated aai version in common pom to 605 from 591
renamed the db scripts for flyway sync to register
added endpoint to application test yml for failing test
...
Change-Id: I800f837ea75d7cdff740dc3a387e4d7654cfd085
Issue-ID: SO-972
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/E2EServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/E2EServiceInstances.java
index 8f8cf08..1a95aa0 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/E2EServiceInstances.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/E2EServiceInstances.java
@@ -58,10 +58,10 @@
import org.onap.so.db.catalog.beans.ServiceRecipe;
import org.onap.so.db.catalog.client.CatalogDbClient;
import org.onap.so.db.request.beans.OperationStatus;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoAlarmLogger;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.serviceinstancebeans.ModelInfo;
import org.onap.so.serviceinstancebeans.ModelType;
import org.onap.so.serviceinstancebeans.RequestDetails;
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java
index 1a1b45a..753e712 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java
@@ -62,10 +62,11 @@
import org.onap.so.apihandlerinfra.vnfbeans.VnfInputs;
import org.onap.so.apihandlerinfra.vnfbeans.VnfRequest;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
+import org.onap.so.db.request.data.repository.InfraActiveRequestsRepository;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.serviceinstancebeans.CloudConfiguration;
import org.onap.so.serviceinstancebeans.InstanceDirection;
import org.onap.so.serviceinstancebeans.ModelInfo;
@@ -741,4 +742,4 @@
return vnfType;
}
-}
\ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java
index 753b4c4..50d2639 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java
@@ -23,6 +23,7 @@
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -48,11 +49,12 @@
import org.onap.so.apihandlerinfra.logging.AlarmLoggerInfo;
import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.beans.RequestProcessingData;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoAlarmLogger;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.serviceinstancebeans.GetOrchestrationListResponse;
import org.onap.so.serviceinstancebeans.GetOrchestrationResponse;
import org.onap.so.serviceinstancebeans.InstanceReferences;
@@ -97,10 +99,11 @@
GetOrchestrationResponse orchestrationResponse = new GetOrchestrationResponse();
- InfraActiveRequests requestDB = null;
-
+ InfraActiveRequests infraActiveRequest = null;
+ List<org.onap.so.db.request.beans.RequestProcessingData> requestProcessingData = null;
try {
- requestDB = requestsDbClient.getInfraActiveRequestbyRequestId(requestId);
+ infraActiveRequest = requestsDbClient.getInfraActiveRequestbyRequestId(requestId);
+ requestProcessingData = requestsDbClient.getRequestProcessingDataBySoRequestId(requestId);
} catch (Exception e) {
msoLogger.error(e);
@@ -115,8 +118,8 @@
throw validateException;
}
-
- if(requestDB == null) {
+
+ if(infraActiveRequest == null) {
ErrorLoggerInfo errorLoggerInfo = new ErrorLoggerInfo.Builder(MessageEnum.APIH_BPEL_COMMUNICATE_ERROR, MsoLogger.ErrorCode.BusinessProcesssError).build();
@@ -126,8 +129,11 @@
throw validateException;
}
-
- Request request = mapInfraActiveRequestToRequest(requestDB);
+
+ Request request = mapInfraActiveRequestToRequest(infraActiveRequest);
+ if(!requestProcessingData.isEmpty()){
+ request.setRequestProcessingData(mapRequestProcessingData(requestProcessingData));
+ }
request.setRequestId(requestId);
orchestrationResponse.setRequest(request);
@@ -171,8 +177,12 @@
List<RequestList> requestLists = new ArrayList<>();
for(InfraActiveRequests infraActive : activeRequests){
+ List<RequestProcessingData> requestProcessingData = requestsDbClient.getRequestProcessingDataBySoRequestId(infraActive.getRequestId());
RequestList requestList = new RequestList();
Request request = mapInfraActiveRequestToRequest(infraActive);
+ if(!requestProcessingData.isEmpty()){
+ request.setRequestProcessingData(mapRequestProcessingData(requestProcessingData));
+ }
requestList.setRequest(request);
requestLists.add(requestList);
}
@@ -337,4 +347,46 @@
return request;
}
+
+ public List<org.onap.so.serviceinstancebeans.RequestProcessingData> mapRequestProcessingData(List<org.onap.so.db.request.beans.RequestProcessingData> processingData){
+ List<org.onap.so.serviceinstancebeans.RequestProcessingData> addedRequestProcessingData = new ArrayList<>();
+ org.onap.so.serviceinstancebeans.RequestProcessingData finalProcessingData = new org.onap.so.serviceinstancebeans.RequestProcessingData();
+ String currentGroupingId = null;
+ HashMap<String, String> tempMap = new HashMap<>();
+ List<HashMap<String, String>> tempList = new ArrayList<>();
+ for(RequestProcessingData data : processingData){
+ String groupingId = data.getGroupingId();
+ String tag = data.getTag();
+ if(currentGroupingId == null || !currentGroupingId.equals(groupingId)){
+ if(!tempMap.isEmpty()){
+ tempList.add(tempMap);
+ finalProcessingData.setDataPairs(tempList);
+ addedRequestProcessingData.add(finalProcessingData);
+ }
+ finalProcessingData = new org.onap.so.serviceinstancebeans.RequestProcessingData();
+ if(groupingId != null){
+ finalProcessingData.setGroupingId(groupingId);
+ }
+ if(tag != null){
+ finalProcessingData.setTag(tag);
+ }
+ currentGroupingId = groupingId;
+ tempMap = new HashMap<>();
+ tempList = new ArrayList<>();
+ if(data.getName() != null && data.getValue() != null){
+ tempMap.put(data.getName(), data.getValue());
+ }
+ }else{
+ if(data.getName() != null && data.getValue() != null){
+ tempMap.put(data.getName(), data.getValue());
+ }
+ }
+ }
+ if(tempMap.size() > 0){
+ tempList.add(tempMap);
+ finalProcessingData.setDataPairs(tempList);
+ }
+ addedRequestProcessingData.add(finalProcessingData);
+ return addedRequestProcessingData;
+ }
}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java
index a7dac34..672ab13 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java
@@ -58,10 +58,10 @@
import org.onap.so.db.catalog.beans.VnfResourceCustomization;
import org.onap.so.db.catalog.client.CatalogDbClient;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.serviceinstancebeans.CloudConfiguration;
import org.onap.so.serviceinstancebeans.ModelInfo;
import org.onap.so.serviceinstancebeans.ModelType;
@@ -1656,4 +1656,4 @@
infraActiveRequestsClient.save(aq);
}
}
-}
\ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudOrchestration.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudOrchestration.java
index cfe32a3..d743c44 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudOrchestration.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudOrchestration.java
@@ -40,7 +40,6 @@
import org.apache.http.HttpStatus;
import org.onap.so.apihandler.common.ErrorNumbers;
import org.onap.so.apihandlerinfra.Constants;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.Status;
import org.onap.so.apihandlerinfra.exceptions.ApiException;
import org.onap.so.apihandlerinfra.exceptions.DuplicateRequestException;
@@ -51,6 +50,7 @@
import org.onap.so.apihandlerinfra.tenantisolationbeans.RequestReferences;
import org.onap.so.apihandlerinfra.tenantisolationbeans.TenantSyncResponse;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoLogger;
@@ -237,4 +237,4 @@
private String getRequestId(ContainerRequestContext requestContext) {
return requestContext.getProperty("requestId").toString();
}
-}
\ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudResourcesOrchestration.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudResourcesOrchestration.java
index 3b7a326..a35f40b 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudResourcesOrchestration.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/CloudResourcesOrchestration.java
@@ -44,7 +44,6 @@
import org.onap.so.apihandler.common.ResponseBuilder;
import org.onap.so.apihandlerinfra.Constants;
import org.onap.so.apihandlerinfra.Messages;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.exceptions.ApiException;
import org.onap.so.apihandlerinfra.exceptions.ValidateException;
import org.onap.so.apihandlerinfra.logging.AlarmLoggerInfo;
@@ -56,6 +55,7 @@
import org.onap.so.apihandlerinfra.tenantisolationbeans.RequestDetails;
import org.onap.so.apihandlerinfra.tenantisolationbeans.RequestStatus;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoAlarmLogger;
@@ -294,4 +294,4 @@
return request;
}
-}
\ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
index b13008b..855a543 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
@@ -30,7 +30,6 @@
import org.apache.commons.lang3.StringUtils;
import org.onap.so.apihandlerinfra.Constants;
-import org.onap.so.requestsdb.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.Status;
import org.onap.so.apihandlerinfra.tenantisolationbeans.Action;
import org.onap.so.apihandlerinfra.tenantisolationbeans.Manifest;
@@ -44,6 +43,7 @@
import org.onap.so.apihandlerinfra.tenantisolationbeans.ServiceModelList;
import org.onap.so.apihandlerinfra.vnfbeans.RequestStatusType;
import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.MessageEnum;
import org.onap.so.logger.MsoLogger;
@@ -384,4 +384,4 @@
public void setOperationalEnvironmentId(String operationalEnvironmentId) {
this.operationalEnvironmentId = operationalEnvironmentId;
}
-}
\ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironment.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironment.java
index e89b5c8..ac9a000 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironment.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfOperationalEnvironment.java
@@ -27,7 +27,7 @@
import org.apache.http.HttpStatus;
import org.json.JSONObject;
import org.onap.so.apihandler.common.ErrorNumbers;
-import org.onap.so.requestsdb.client.RequestsDbClient;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.exceptions.ApiException;
import org.onap.so.apihandlerinfra.exceptions.ValidateException;
import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo;
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java
index 6eb5157..66cfd34 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/process/ActivateVnfStatusOperationalEnvironment.java
@@ -28,7 +28,7 @@
import org.apache.http.HttpStatus;
import org.json.JSONObject;
import org.onap.so.apihandler.common.ErrorNumbers;
-import org.onap.so.requestsdb.client.RequestsDbClient;
+import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.apihandlerinfra.exceptions.ApiException;
import org.onap.so.apihandlerinfra.exceptions.ValidateException;
import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo;
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ManualTasksTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ManualTasksTest.java
index 5d6aa43..76d4b48 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ManualTasksTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ManualTasksTest.java
@@ -39,6 +39,7 @@
import org.apache.http.HttpStatus;
import org.apache.log4j.MDC;
import org.junit.Test;
+import org.onap.logging.ref.slf4j.ONAPLogConstants;
import org.onap.so.apihandlerinfra.tasksbeans.RequestDetails;
import org.onap.so.apihandlerinfra.tasksbeans.RequestInfo;
import org.onap.so.apihandlerinfra.tasksbeans.TaskRequestReference;
@@ -110,8 +111,8 @@
logEvent.getMarker().getName().equals("ENTRY")
){
Map<String,String> mdc = logEvent.getMDCPropertyMap();
- assertNotNull(mdc.get(MsoLogger.BEGINTIME));
- assertNotNull(mdc.get(MsoLogger.REQUEST_ID));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.REQUEST_ID));
assertNotNull(mdc.get(MsoLogger.INVOCATION_ID));
assertEquals("UNKNOWN",mdc.get(MsoLogger.PARTNERNAME));
assertEquals("tasks/v1/55/complete",mdc.get(MsoLogger.SERVICE_NAME));
@@ -119,9 +120,9 @@
}else if(logEvent.getLoggerName().equals("org.onap.so.logging.jaxrs.filter.jersey.JaxRsFilterLogging") &&
logEvent.getMarker().getName().equals("EXIT")){
Map<String,String> mdc = logEvent.getMDCPropertyMap();
- assertNotNull(mdc.get(MsoLogger.BEGINTIME));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP));
assertNotNull(mdc.get(MsoLogger.ENDTIME));
- assertNotNull(mdc.get(MsoLogger.REQUEST_ID));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.REQUEST_ID));
assertNotNull(mdc.get(MsoLogger.INVOCATION_ID));
assertEquals("202",mdc.get(MsoLogger.RESPONSECODE));
assertEquals("UNKNOWN",mdc.get(MsoLogger.PARTNERNAME));
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java
index 582bc12..9df66ed 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java
@@ -20,28 +20,18 @@
package org.onap.so.apihandlerinfra;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.apache.http.HttpStatus;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.onap.so.apihandler.common.ErrorNumbers;
-import org.onap.so.db.request.beans.InfraActiveRequests;
-import org.onap.so.db.request.data.repository.InfraActiveRequestsRepository;
-import org.onap.so.exceptions.ValidationException;
-import org.onap.so.requestsdb.client.RequestsDbClient;
-import org.onap.so.serviceinstancebeans.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.util.UriComponentsBuilder;
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.any;
+import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;
+import static com.github.tomakehurst.wiremock.client.WireMock.equalToJson;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.post;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
+import static com.shazam.shazamcrest.MatcherAssert.assertThat;
+import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
+import static org.junit.Assert.assertEquals;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
@@ -51,10 +41,35 @@
import java.util.List;
import java.util.Map;
-import static com.github.tomakehurst.wiremock.client.WireMock.*;
-import static com.shazam.shazamcrest.MatcherAssert.assertThat;
-import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
-import static org.junit.Assert.assertEquals;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.apache.http.HttpStatus;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.onap.so.apihandler.common.ErrorNumbers;
+import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.onap.so.db.request.client.RequestsDbClient;
+import org.onap.so.db.request.data.repository.InfraActiveRequestsRepository;
+import org.onap.so.exceptions.ValidationException;
+import org.onap.so.serviceinstancebeans.GetOrchestrationListResponse;
+import org.onap.so.serviceinstancebeans.GetOrchestrationResponse;
+import org.onap.so.serviceinstancebeans.Request;
+import org.onap.so.serviceinstancebeans.RequestError;
+import org.onap.so.serviceinstancebeans.RequestProcessingData;
+import org.onap.so.serviceinstancebeans.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.util.UriComponentsBuilder;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
public class OrchestrationRequestsTest extends BaseTest {
@Autowired
@@ -62,6 +77,9 @@
@Autowired
private RequestsDbClient requestsDbClient;
+
+ @Autowired
+ private OrchestrationRequests orchReq;
private static final String CHECK_HTML = "<!DOCTYPE html><html><head><meta charset=\"ISO-8859-1\"><title></title></head><body></body></html>";
private static final GetOrchestrationListResponse ORCHESTRATION_LIST = generateOrchestrationList();
@@ -162,9 +180,14 @@
List<String> values = new ArrayList<>();
values.add("EQUALS");
values.add("vfModule");
+
+ ObjectMapper mapper = new ObjectMapper();
+ GetOrchestrationListResponse testResponse = mapper.readValue(new File("src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json"),
+ GetOrchestrationListResponse.class);
Map<String, List<String>> orchestrationMap = new HashMap<>();
orchestrationMap.put("modelType", values);
+ List<GetOrchestrationResponse> testResponses = new ArrayList<>();
List<InfraActiveRequests> requests = requestsDbClient.getOrchestrationFiltersFromInfraActive(orchestrationMap);
HttpEntity<Request> entity = new HttpEntity<Request>(null, headers);
@@ -175,8 +198,11 @@
ResponseEntity<GetOrchestrationListResponse> response = restTemplate.exchange(builder.toUriString(),
HttpMethod.GET, entity, GetOrchestrationListResponse.class);
+ assertThat(response.getBody(),
+ sameBeanAs(testResponse).ignoring("requestList.request.startTime").ignoring("requestList.request.requestStatus.finishTime"));
assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
assertEquals(requests.size(), response.getBody().getRequestList().size());
+
}
@Test
@@ -334,12 +360,48 @@
assertEquals("7.0.0", response.getHeaders().get("X-LatestVersion").get(0));
assertEquals("requestId", response.getHeaders().get("X-TransactionID").get(0));
}
+ @Test
+ public void mapRequestProcessingDataTest() throws JsonParseException, JsonMappingException, IOException{
+ RequestProcessingData entry = new RequestProcessingData();
+ RequestProcessingData secondEntry = new RequestProcessingData();
+ List<HashMap<String, String>> expectedList = new ArrayList<>();
+ HashMap<String, String> expectedMap = new HashMap<>();
+ List<HashMap<String, String>> secondExpectedList = new ArrayList<>();
+ HashMap<String, String> secondExpectedMap = new HashMap<>();
+ List<RequestProcessingData> expectedDataList = new ArrayList<>();
+ entry.setGroupingId("7d2e8c07-4d10-456d-bddc-37abf38ca714");
+ entry.setTag("pincFabricConfigRequest");
+ expectedMap.put("requestAction", "assign");
+ expectedMap.put("pincFabricId", "testId");
+ expectedList.add(expectedMap);
+ entry.setDataPairs(expectedList);
+ secondEntry.setGroupingId("7d2e8c07-4d10-456d-bddc-37abf38ca715");
+ secondEntry.setTag("pincFabricConfig");
+ secondExpectedMap.put("requestAction", "unassign");
+ secondExpectedList.add(secondExpectedMap);
+ secondEntry.setDataPairs(secondExpectedList);
+ expectedDataList.add(entry);
+ expectedDataList.add(secondEntry);
+
+ List<org.onap.so.db.request.beans.RequestProcessingData> processingData = new ArrayList<>();
+ List<RequestProcessingData> actualProcessingData = new ArrayList<>();
+ ObjectMapper mapper = new ObjectMapper();
+ processingData = mapper.readValue(new File("src/test/resources/OrchestrationRequest/RequestProcessingData.json"),
+ new TypeReference<List<org.onap.so.db.request.beans.RequestProcessingData>>(){});
+ actualProcessingData = orchReq.mapRequestProcessingData(processingData);
+ assertThat(actualProcessingData,sameBeanAs(expectedDataList));
+ }
public void setupTestGetOrchestrationRequest() throws Exception{
//For testGetOrchestrationRequest
stubFor(any(urlPathEqualTo("/infraActiveRequests/00032ab7-na18-42e5-965d-8ea592502018")).willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
.withBody(new String(Files.readAllBytes(Paths.get("src/test/resources/OrchestrationRequest/getOrchestrationRequest.json"))))
.withStatus(HttpStatus.SC_OK)));
+ stubFor(get(urlPathEqualTo("/requestProcessingData/search/findBySoRequestIdOrderByGroupingIdDesc/"))
+ .withQueryParam("SO_REQUEST_ID", equalTo("00032ab7-na18-42e5-965d-8ea592502018"))
+ .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+ .withBody(new String(Files.readAllBytes(Paths.get("src/test/resources/OrchestrationRequest/getRequestProcessingData.json"))))
+ .withStatus(HttpStatus.SC_OK)));
}
private void setupTestGetOrchestrationRequestRequestDetails(String requestId, String status) throws Exception{
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java
index 76f4bb0..e9e5014 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java
@@ -189,8 +189,8 @@
logEvent.getMarker().getName().equals("ENTRY")
){
Map<String,String> mdc = logEvent.getMDCPropertyMap();
- assertNotNull(mdc.get(MsoLogger.BEGINTIME));
- assertNotNull(mdc.get(MsoLogger.REQUEST_ID));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.REQUEST_ID));
assertNotNull(mdc.get(MsoLogger.INVOCATION_ID));
assertEquals("UNKNOWN",mdc.get(MsoLogger.PARTNERNAME));
assertEquals("onap/so/infra/serviceInstantiation/v5/serviceInstances",mdc.get(MsoLogger.SERVICE_NAME));
@@ -198,9 +198,9 @@
}else if(logEvent.getLoggerName().equals("org.onap.so.logging.jaxrs.filter.jersey.JaxRsFilterLogging") &&
logEvent.getMarker().getName().equals("EXIT")){
Map<String,String> mdc = logEvent.getMDCPropertyMap();
- assertNotNull(mdc.get(MsoLogger.BEGINTIME));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.ENTRY_TIMESTAMP));
assertNotNull(mdc.get(MsoLogger.ENDTIME));
- assertNotNull(mdc.get(MsoLogger.REQUEST_ID));
+ assertNotNull(mdc.get(ONAPLogConstants.MDCs.REQUEST_ID));
assertNotNull(mdc.get(MsoLogger.INVOCATION_ID));
assertEquals("202",mdc.get(MsoLogger.RESPONSECODE));
assertEquals("UNKNOWN",mdc.get(MsoLogger.PARTNERNAME));
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json
new file mode 100644
index 0000000..561ed0d
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json
@@ -0,0 +1,189 @@
+{
+ "requestList": [
+ {
+ "request": {
+ "requestId": "001619d2-a297-4a4b-a9f5-e2823c88458f",
+ "startTime": "Fri, 01 Jul 2016 04:41:42 GMT",
+ "requestScope": "vfModule",
+ "requestType": "createInstance",
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelName": "test::base::module-0"
+ },
+ "requestInfo": {
+ "source": "VID",
+ "suppressRollback": false
+ },
+ "cloudConfiguration": {
+ "tenantId": "6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId": "n6"
+ },
+ "instanceName": []
+ },
+ "instanceReferences": {
+ "vnfInstanceName": "test-vscp",
+ "vfModuleInstanceName": "MODULENAME1"
+ },
+ "requestStatus": {
+ "requestState": "COMPLETE",
+ "statusMessage": "COMPLETED",
+ "percentProgress": 100,
+ "finishTime": "Tue, 02 May 2017 06:33:34 GMT"
+ }
+ }
+ },
+ {
+ "request": {
+ "requestId": "00032ab7-3fb3-42e5-965d-8ea592502017",
+ "startTime": "Thu, 22 Dec 2016 08:29:54 GMT",
+ "requestScope": "vfModule",
+ "requestType": "deleteInstance",
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelName": "test::base::module-0"
+ },
+ "requestInfo": {
+ "source": "VID",
+ "suppressRollback": false
+ },
+ "cloudConfiguration": {
+ "tenantId": "6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId": "n6"
+ },
+ "instanceName": []
+ },
+ "instanceReferences": {
+ "serviceInstanceId": "e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId": "b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId": "c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus": {
+ "requestState": "COMPLETE",
+ "statusMessage": "Vf Module has been deleted successfully.",
+ "percentProgress": 100,
+ "finishTime": "Thu, 22 Dec 2016 08:30:28 GMT"
+ }
+ }
+ },
+ {
+ "request": {
+ "requestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "startTime": "Thu, 22 Dec 2016 08:29:54 GMT",
+ "requestScope": "vfModule",
+ "requestType": "deleteInstance",
+ "requestDetails": {
+ "modelInfo": {
+ "modelType": "vfModule",
+ "modelName": "test::base::module-0"
+ },
+ "requestInfo": {
+ "source": "VID",
+ "suppressRollback": false
+ },
+ "cloudConfiguration": {
+ "tenantId": "6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId": "n6"
+ },
+ "instanceName": []
+ },
+ "instanceReferences": {
+ "serviceInstanceId": "e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId": "b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId": "c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus": {
+ "requestState": "PENDING",
+ "statusMessage": "Vf Module deletion pending.",
+ "percentProgress": 0,
+ "finishTime": "Thu, 22 Dec 2016 08:30:28 GMT"
+ }
+ }
+ },
+ {
+ "request": {
+ "requestId": "5ffbabd6-b793-4377-a1ab-082670fbc7ac",
+ "startTime": "Thu, 22 Dec 2016 08:29:54 GMT",
+ "requestScope": "vfModule",
+ "requestType": "deleteInstance",
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "78ca26d0-246d-11e7-93ae-92361f002671",
+ "modelType": "vfModule",
+ "modelId": "20c4431c-246d-11e7-93ae-92361f002671",
+ "modelName": "test::base::module-0",
+ "modelVersion": "2",
+ "modelCustomizationUuid": "cb82ffd8-252a-11e7-93ae-92361f002671",
+ "modelVersionId": "20c4431c-246d-11e7-93ae-92361f002671",
+ "modelCustomizationId": "cb82ffd8-252a-11e7-93ae-92361f002671",
+ "modelUuid": "20c4431c-246d-11e7-93ae-92361f002671",
+ "modelInvariantUuid": "78ca26d0-246d-11e7-93ae-92361f002671"
+ },
+ "requestInfo": {
+ "source": "VID",
+ "instanceName": "MSO-DEV-VF-1806BB-v10-base-it2-1",
+ "suppressRollback": false,
+ "requestorId": "xxxxxx"
+ },
+ "relatedInstanceList": [
+ {
+ "relatedInstance": {
+ "instanceId": "76fa8849-4c98-473f-b431-2590b192a653",
+ "modelInfo": {
+ "modelInvariantId": "9647dfc4-2083-11e7-93ae-92361f002671",
+ "modelType": "service",
+ "modelId": "5df8b6de-2083-11e7-93ae-92361f002671",
+ "modelName": "Infra_v10_Service",
+ "modelVersion": "1.0",
+ "modelVersionId": "5df8b6de-2083-11e7-93ae-92361f002671",
+ "modelUuid": "5df8b6de-2083-11e7-93ae-92361f002671",
+ "modelInvariantUuid": "9647dfc4-2083-11e7-93ae-92361f002671"
+ }
+ }
+ },
+ {
+ "relatedInstance": {
+ "instanceId": "d57970e1-5075-48a5-ac5e-75f2d6e10f4c",
+ "modelInfo": {
+ "modelCustomizationName": "v10 1",
+ "modelInvariantId": "2fff5b20-214b-11e7-93ae-92361f002671",
+ "modelType": "vnf",
+ "modelId": "ff2ae348-214a-11e7-93ae-92361f002671",
+ "modelName": "v10",
+ "modelVersion": "1.0",
+ "modelCustomizationUuid": "68dc9a92-214c-11e7-93ae-92361f002671",
+ "modelVersionId": "ff2ae348-214a-11e7-93ae-92361f002671",
+ "modelCustomizationId": "68dc9a92-214c-11e7-93ae-92361f002671",
+ "modelUuid": "ff2ae348-214a-11e7-93ae-92361f002671",
+ "modelInvariantUuid": "2fff5b20-214b-11e7-93ae-92361f002671",
+ "modelInstanceName": "v10 1"
+ }
+ }
+ }
+ ],
+ "cloudConfiguration": {
+ "tenantId": "0422ffb57ba042c0800a29dc85ca70f8",
+ "lcpCloudRegionId": "n6"
+ },
+ "requestParameters": {
+ "userParams": [],
+ "usePreload": true
+ },
+ "instanceName": []
+ },
+ "instanceReferences": {
+ "serviceInstanceId": "e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId": "b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId": "c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus": {
+ "requestState": "UNLOCKED",
+ "statusMessage": "Vf Module deletion pending.",
+ "percentProgress": 0,
+ "finishTime": "Thu, 22 Dec 2016 08:30:28 GMT"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationList.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationList.json
index 124513d..1b1530d 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationList.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationList.json
@@ -1 +1,298 @@
-{"requestList":[{"request":{"requestId":"00032ab7-3fb3-42e5-965d-8ea592502017","requestScope":"vfModule","requestType":"deleteInstance","requestDetails":{"modelInfo":{"modelType":"vfModule","modelName":"test::base::module-0"},"requestInfo":{"source":"VID","suppressRollback":false},"cloudConfiguration":{"tenantId":"6accefef3cb442ff9e644d589fb04107","lcpCloudRegionId":"n6"}},"instanceReferences":{"serviceInstanceId":"e3b5744d-2ad1-4cdd-8390-c999a38829bc","vnfInstanceId":"b92f60c8-8de3-46c1-8dc1-e4390ac2b005","vfModuleInstanceId":"c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"},"requestStatus":{"requestState":"COMPLETE","statusMessage":"Vf Module has been deleted successfully.","percentProgress":100}}},{"request":{"requestId":"00032ab7-na18-42e5-965d-8ea592502018","requestScope":"vfModule","requestType":"deleteInstance","requestDetails":{"modelInfo":{"modelType":"vfModule","modelName":"test::base::module-0"},"requestInfo":{"source":"VID","suppressRollback":false},"cloudConfiguration":{"tenantId":"6accefef3cb442ff9e644d589fb04107","lcpCloudRegionId":"n6"}},"instanceReferences":{"serviceInstanceId":"e3b5744d-2ad1-4cdd-8390-c999a38829bc","vnfInstanceId":"b92f60c8-8de3-46c1-8dc1-e4390ac2b005","vfModuleInstanceId":"c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"},"requestStatus":{"requestState":"PENDING","statusMessage":"Vf Module deletion pending.","percentProgress":0}}},{"request":{"requestId":"00093944-bf16-4373-ab9a-3adfe730ff2d","requestScope":"service","requestType":"createInstance","requestDetails":{"modelInfo":{"modelInvariantId":"9647dfc4-2083-11e7-93ae-92361f002671","modelType":"service","modelName":"MSOTADevInfra_v10_Service","modelVersion":"1.0","modelVersionId":"5df8b6de-2083-11e7-93ae-92361f002671"},"requestInfo":{"source":"VID","instanceName":"MSODEV_1707_SI_v10_011-4","suppressRollback":false,"requestorId":"xxxxxx"},"subscriberInfo":{"globalSubscriberId":"MSO_1610_dev","subscriberName":"MSO_1610_dev"},"cloudConfiguration":{"tenantId":"19123c2924c648eb8e42a3c1f14b7682","lcpCloudRegionId":"n6"},"requestParameters":{"subscriptionServiceType":"MSO-dev-service-type","userParams":[{"name":"someUserParam","value":"someValue"}],"aLaCarte":true,"autoBuildVfModules":false,"cascadeDelete":false,"usePreload":true}},"instanceReferences":{},"requestStatus":{"requestState":"FAILED","statusMessage":"Error: Locked instance - This service (MSODEV_1707_SI_v10_011-4) already has a request being worked with a status of IN_PROGRESS (RequestId - 278e83b1-4f9f-450e-9e7d-3700a6ed22f4). The existing request must finish or be cleaned up before proceeding.","percentProgress":100}}},{"request":{"requestId":"001619d2-a297-4a4b-a9f5-e2823c88458f","requestScope":"vfModule","requestType":"createInstance","instanceReferences":{},"requestStatus":{"requestState":"COMPLETE","statusMessage":"COMPLETED","percentProgress":100}}},{"request":{"requestId":"00164b9e-784d-48a8-8973-bbad6ef818ed","requestScope":"service","requestType":"createInstance","requestDetails":{"modelInfo":{"modelInvariantId":"52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f","modelType":"service","modelName":"MSO Test Network","modelVersion":"1.0","modelVersionId":"aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e"},"requestInfo":{"source":"VID","instanceName":"DEV-n6-3100-0927-1","suppressRollback":false,"requestorId":"xxxxxx"},"subscriberInfo":{"globalSubscriberId":"MSO_1610_dev","subscriberName":"MSO_1610_dev"},"cloudConfiguration":{"tenantId":"19123c2924c648eb8e42a3c1f14b7682","lcpCloudRegionId":"n6"},"requestParameters":{"subscriptionServiceType":"MSO-dev-service-type","userParams":[{"name":"someUserParam","value":"someValue"}],"aLaCarte":true,"autoBuildVfModules":false,"cascadeDelete":false,"usePreload":true}},"instanceReferences":{"serviceInstanceId":"b2f59173-b7e5-4e0f-8440-232fd601b865"},"requestStatus":{"requestState":"COMPLETE","statusMessage":"Service Instance was created successfully.","percentProgress":100}}},{"request":{"requestId":"00173cc9-5ce2-4673-a810-f87fefb2829e","requestScope":"service","requestType":"createInstance","requestDetails":{"modelInfo":{"modelInvariantId":"ff6163d4-7214-459e-9f76-507b4eb00f51","modelType":"service","modelName":"ConstraintsSrvcVID","modelVersion":"2.0","modelVersionId":"722d256c-a374-4fba-a14f-a59b76bb7656"},"requestInfo":{"productFamilyId":"LRSI-OSPF","source":"VID","suppressRollback":false,"requestorId":"xxxxxx"},"subscriberInfo":{"globalSubscriberId":"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"},"cloudConfiguration":{"tenantId":"a259ae7b7c3f493cb3d91f95a7c18149","lcpCloudRegionId":"mtn16"},"requestParameters":{"subscriptionServiceType":"Mobility","userParams":[{"name":"neutronport6_name","value":"8"},{"name":"neutronnet5_network_name","value":"8"},{"name":"contrailv2vlansubinterface3_name","value":"false"}]}},"instanceReferences":{},"requestStatus":{"requestState":"FAILED","statusMessage":"Error parsing request. No valid instanceName is specified","percentProgress":100}}},{"request":{"requestId":"0017f68c-eb2d-45bb-b7c7-ec31b37dc349","requestScope":"configuration","requestType":"activateInstance","requestDetails":{"modelInfo":{"modelInvariantId":"1587cf0e-f12f-478d-8530-5c55ac578c39","modelType":"configuration","modelVersionId":"36a3a8ea-49a6-4ac8-b06c-89a545444455","modelCustomizationId":"68dc9a92-214c-11e7-93ae-92361f002671"},"requestInfo":{"source":"VID","suppressRollback":false,"requestorId":"xxxxxx"},"relatedInstanceList":[{"relatedInstance":{"instanceId":"9e15a443-af65-4f05-9000-47ae495e937d","modelInfo":{"modelInvariantId":"de19ae10-9a25-11e7-abc4-cec278b6b50a","modelType":"service","modelName":"MSOTADevInfra_Configuration_Service","modelVersion":"1.0","modelVersionId":"ee938612-9a25-11e7-abc4-cec278b6b50a"}}}],"cloudConfiguration":{"lcpCloudRegionId":"n6"},"requestParameters":{"aLaCarte":false,"autoBuildVfModules":false,"cascadeDelete":false,"usePreload":true}},"instanceReferences":{"serviceInstanceId":"9e15a443-af65-4f05-9000-47ae495e937d"},"requestStatus":{"requestState":"UNLOCKED","percentProgress":20}}},{"request": {"requestId":"0017f68c-eb2d-45bb-b7c7-ec31b37dc350","requestScope":"service","requestType":"createInstance","requestStatus": {"requestState": "IN_PROGRESS", "statusMessage": "Error parsing request.\n\tNo valid instanceName is specified"}}}]}
\ No newline at end of file
+{
+ "requestList":[
+ {
+ "request":{
+ "requestId":"00032ab7-3fb3-42e5-965d-8ea592502017",
+ "requestScope":"vfModule",
+ "requestType":"deleteInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelType":"vfModule",
+ "modelName":"test::base::module-0"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "suppressRollback":false
+ },
+ "cloudConfiguration":{
+ "tenantId":"6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId":"n6"
+ }
+ },
+ "instanceReferences":{
+ "serviceInstanceId":"e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId":"b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId":"c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus":{
+ "requestState":"COMPLETE",
+ "statusMessage":"Vf Module has been deleted successfully.",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"00032ab7-na18-42e5-965d-8ea592502018",
+ "requestScope":"vfModule",
+ "requestType":"deleteInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelType":"vfModule",
+ "modelName":"test::base::module-0"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "suppressRollback":false
+ },
+ "cloudConfiguration":{
+ "tenantId":"6accefef3cb442ff9e644d589fb04107",
+ "lcpCloudRegionId":"n6"
+ }
+ },
+ "instanceReferences":{
+ "serviceInstanceId":"e3b5744d-2ad1-4cdd-8390-c999a38829bc",
+ "vnfInstanceId":"b92f60c8-8de3-46c1-8dc1-e4390ac2b005",
+ "vfModuleInstanceId":"c7d527b1-7a91-49fd-b97d-1c8c0f4a7992"
+ },
+ "requestStatus":{
+ "requestState":"PENDING",
+ "statusMessage":"Vf Module deletion pending.",
+ "percentProgress":0
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"00093944-bf16-4373-ab9a-3adfe730ff2d",
+ "requestScope":"service",
+ "requestType":"createInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelInvariantId":"9647dfc4-2083-11e7-93ae-92361f002671",
+ "modelType":"service",
+ "modelName":"MSOTADevInfra_v10_Service",
+ "modelVersion":"1.0",
+ "modelVersionId":"5df8b6de-2083-11e7-93ae-92361f002671"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "instanceName":"MSODEV_1707_SI_v10_011-4",
+ "suppressRollback":false,
+ "requestorId":"xxxxxx"
+ },
+ "subscriberInfo":{
+ "globalSubscriberId":"MSO_1610_dev",
+ "subscriberName":"MSO_1610_dev"
+ },
+ "cloudConfiguration":{
+ "tenantId":"19123c2924c648eb8e42a3c1f14b7682",
+ "lcpCloudRegionId":"n6"
+ },
+ "requestParameters":{
+ "subscriptionServiceType":"MSO-dev-service-type",
+ "userParams":[
+ {
+ "name":"someUserParam",
+ "value":"someValue"
+ }
+ ],
+ "aLaCarte":true,
+ "autoBuildVfModules":false,
+ "cascadeDelete":false,
+ "usePreload":true
+ }
+ },
+ "instanceReferences":{
+
+ },
+ "requestStatus":{
+ "requestState":"FAILED",
+ "statusMessage":"Error: Locked instance - This service (MSODEV_1707_SI_v10_011-4) already has a request being worked with a status of IN_PROGRESS (RequestId - 278e83b1-4f9f-450e-9e7d-3700a6ed22f4). The existing request must finish or be cleaned up before proceeding.",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"001619d2-a297-4a4b-a9f5-e2823c88458f",
+ "requestScope":"vfModule",
+ "requestType":"createInstance",
+ "instanceReferences":{
+
+ },
+ "requestStatus":{
+ "requestState":"COMPLETE",
+ "statusMessage":"COMPLETED",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"00164b9e-784d-48a8-8973-bbad6ef818ed",
+ "requestScope":"service",
+ "requestType":"createInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelInvariantId":"52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f",
+ "modelType":"service",
+ "modelName":"MSO Test Network",
+ "modelVersion":"1.0",
+ "modelVersionId":"aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "instanceName":"DEV-n6-3100-0927-1",
+ "suppressRollback":false,
+ "requestorId":"xxxxxx"
+ },
+ "subscriberInfo":{
+ "globalSubscriberId":"MSO_1610_dev",
+ "subscriberName":"MSO_1610_dev"
+ },
+ "cloudConfiguration":{
+ "tenantId":"19123c2924c648eb8e42a3c1f14b7682",
+ "lcpCloudRegionId":"n6"
+ },
+ "requestParameters":{
+ "subscriptionServiceType":"MSO-dev-service-type",
+ "userParams":[
+ {
+ "name":"someUserParam",
+ "value":"someValue"
+ }
+ ],
+ "aLaCarte":true,
+ "autoBuildVfModules":false,
+ "cascadeDelete":false,
+ "usePreload":true
+ }
+ },
+ "instanceReferences":{
+ "serviceInstanceId":"b2f59173-b7e5-4e0f-8440-232fd601b865"
+ },
+ "requestStatus":{
+ "requestState":"COMPLETE",
+ "statusMessage":"Service Instance was created successfully.",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"00173cc9-5ce2-4673-a810-f87fefb2829e",
+ "requestScope":"service",
+ "requestType":"createInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelInvariantId":"ff6163d4-7214-459e-9f76-507b4eb00f51",
+ "modelType":"service",
+ "modelName":"ConstraintsSrvcVID",
+ "modelVersion":"2.0",
+ "modelVersionId":"722d256c-a374-4fba-a14f-a59b76bb7656"
+ },
+ "requestInfo":{
+ "productFamilyId":"LRSI-OSPF",
+ "source":"VID",
+ "suppressRollback":false,
+ "requestorId":"xxxxxx"
+ },
+ "subscriberInfo":{
+ "globalSubscriberId":"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb"
+ },
+ "cloudConfiguration":{
+ "tenantId":"a259ae7b7c3f493cb3d91f95a7c18149",
+ "lcpCloudRegionId":"mtn16"
+ },
+ "requestParameters":{
+ "subscriptionServiceType":"Mobility",
+ "userParams":[
+ {
+ "name":"neutronport6_name",
+ "value":"8"
+ },
+ {
+ "name":"neutronnet5_network_name",
+ "value":"8"
+ },
+ {
+ "name":"contrailv2vlansubinterface3_name",
+ "value":"false"
+ }
+ ]
+ }
+ },
+ "instanceReferences":{
+
+ },
+ "requestStatus":{
+ "requestState":"FAILED",
+ "statusMessage":"Error parsing request. No valid instanceName is specified",
+ "percentProgress":100
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"0017f68c-eb2d-45bb-b7c7-ec31b37dc349",
+ "requestScope":"configuration",
+ "requestType":"activateInstance",
+ "requestDetails":{
+ "modelInfo":{
+ "modelInvariantId":"1587cf0e-f12f-478d-8530-5c55ac578c39",
+ "modelType":"configuration",
+ "modelVersionId":"36a3a8ea-49a6-4ac8-b06c-89a545444455",
+ "modelCustomizationId":"68dc9a92-214c-11e7-93ae-92361f002671"
+ },
+ "requestInfo":{
+ "source":"VID",
+ "suppressRollback":false,
+ "requestorId":"xxxxxx"
+ },
+ "relatedInstanceList":[
+ {
+ "relatedInstance":{
+ "instanceId":"9e15a443-af65-4f05-9000-47ae495e937d",
+ "modelInfo":{
+ "modelInvariantId":"de19ae10-9a25-11e7-abc4-cec278b6b50a",
+ "modelType":"service",
+ "modelName":"MSOTADevInfra_Configuration_Service",
+ "modelVersion":"1.0",
+ "modelVersionId":"ee938612-9a25-11e7-abc4-cec278b6b50a"
+ }
+ }
+ }
+ ],
+ "cloudConfiguration":{
+ "lcpCloudRegionId":"n6"
+ },
+ "requestParameters":{
+ "aLaCarte":false,
+ "autoBuildVfModules":false,
+ "cascadeDelete":false,
+ "usePreload":true
+ }
+ },
+ "instanceReferences":{
+ "serviceInstanceId":"9e15a443-af65-4f05-9000-47ae495e937d"
+ },
+ "requestStatus":{
+ "requestState":"UNLOCKED",
+ "percentProgress":20
+ }
+ }
+ },
+ {
+ "request":{
+ "requestId":"0017f68c-eb2d-45bb-b7c7-ec31b37dc350",
+ "requestScope":"service",
+ "requestType":"createInstance",
+ "requestStatus":{
+ "requestState":"IN_PROGRESS",
+ "statusMessage":"Error parsing request.\n\tNo valid instanceName is specified"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/RequestProcessingData.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/RequestProcessingData.json
new file mode 100644
index 0000000..79caa33
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/RequestProcessingData.json
@@ -0,0 +1,24 @@
+[
+ {
+ "id": 1,
+ "soRequestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "groupingId": "7d2e8c07-4d10-456d-bddc-37abf38ca714",
+ "name": "requestAction",
+ "value": "assign",
+ "tag": "pincFabricConfigRequest"
+ },{
+ "id": 2,
+ "soRequestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "groupingId": "7d2e8c07-4d10-456d-bddc-37abf38ca714",
+ "name": "pincFabricId",
+ "value": "testId",
+ "tag": "pincFabricConfigRequest"
+ },{
+ "id": 3,
+ "soRequestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "groupingId": "7d2e8c07-4d10-456d-bddc-37abf38ca715",
+ "name": "requestAction",
+ "value": "unassign",
+ "tag": "pincFabricConfig"
+ }
+]
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/getRequestProcessingData.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/getRequestProcessingData.json
new file mode 100644
index 0000000..af28007
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/getRequestProcessingData.json
@@ -0,0 +1,8 @@
+{
+ "id": 1,
+ "soRequestId": "00032ab7-na18-42e5-965d-8ea592502018",
+ "groupingId": "7d2e8c07-4d10-456d-bddc-37abf38ca714",
+ "name": "requestAction",
+ "value": "assign",
+ "tag": "pincFabricConfigRequest"
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql b/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql
index 3540110..381330b 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql
@@ -770,6 +770,77 @@
ON DELETE CASCADE ON UPDATE CASCADE)
ENGINE = InnoDB DEFAULT CHARACTER SET = latin1;
+CREATE TABLE IF NOT EXISTS vnfc_customization (
+`MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
+`MODEL_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INVARIANT_UUID` VARCHAR(200) NOT NULL,
+`MODEL_VERSION` VARCHAR(20) NOT NULL,
+`MODEL_NAME` VARCHAR(200) NOT NULL,
+`TOSCA_NODE_TYPE` VARCHAR(200) NOT NULL,
+`DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL,
+`CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+PRIMARY KEY (`MODEL_CUSTOMIZATION_UUID`))
+ENGINE = InnoDB
+AUTO_INCREMENT = 20654
+DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS cvnfc_customization (
+`ID` INT(11) NOT NULL AUTO_INCREMENT,
+`MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
+`MODEL_UUID` VARCHAR(200) NOT NULL,
+`MODEL_INVARIANT_UUID` VARCHAR(200) NOT NULL,
+`MODEL_VERSION` VARCHAR(20) NOT NULL,
+`MODEL_NAME` VARCHAR(200) NOT NULL,
+`TOSCA_NODE_TYPE` VARCHAR(200) NOT NULL,
+`DESCRIPTION` VARCHAR(1200) NULL DEFAULT NULL,
+`NFC_FUNCTION` VARCHAR(200) NULL,
+`NFC_NAMING_CODE` VARCHAR(200) NULL,
+`CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+`VNFC_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL, PRIMARY KEY (`ID`), INDEX `fk_cvnfc_customization__vf_module_customization1_idx` (`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID` ASC), INDEX `fk_cvnfc_customization__vnfc_customization1_idx` (`VNFC_CUST_MODEL_CUSTOMIZATION_UUID` ASC), INDEX `fk_cvnfc_customization__vnf_resource_customization1_idx` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` ASC), UNIQUE INDEX `UK_cvnfc_customization` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` ASC, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID` ASC, `MODEL_CUSTOMIZATION_UUID` ASC), INDEX `fk_cvnfc_customization__vnf_vfmod_cvnfc_config_cust1_idx` (`MODEL_CUSTOMIZATION_UUID` ASC), CONSTRAINT `fk_cvnfc_customization__vf_module_customization1` FOREIGN KEY (`VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`) REFERENCES `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`) ON
+DELETE CASCADE ON
+UPDATE CASCADE, CONSTRAINT `fk_cvnfc_customization__vnfc_customization1` FOREIGN KEY (`VNFC_CUST_MODEL_CUSTOMIZATION_UUID`) REFERENCES `vnfc_customization` (`MODEL_CUSTOMIZATION_UUID`) ON
+DELETE CASCADE ON
+UPDATE CASCADE, CONSTRAINT `fk_cvnfc_customization__vnf_resource_customization1` FOREIGN KEY (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`) REFERENCES `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`) ON
+DELETE CASCADE ON
+UPDATE CASCADE) ENGINE = InnoDB AUTO_INCREMENT = 20654 DEFAULT CHARACTER SET = latin1;
+
+CREATE TABLE IF NOT EXISTS vnf_vfmodule_cvnfc_configuration_customization (
+ `ID` INT(11) NOT NULL AUTO_INCREMENT,
+ `MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+ `VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+ `VF_MODULE_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+ `CVNFC_MODEL_CUSTOMIZATION_UUID` VARCHAR(200) NOT NULL,
+ `MODEL_INSTANCE_NAME` VARCHAR(200) NOT NULL,
+ `CONFIGURATION_TYPE` VARCHAR(200) NULL,
+ `CONFIGURATION_ROLE` VARCHAR(200) NULL,
+ `CONFIGURATION_FUNCTION` VARCHAR(200) NULL,
+ `POLICY_NAME` VARCHAR(200) NULL,
+ `CREATION_TIMESTAMP` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `CONFIGURATION_MODEL_UUID` VARCHAR(200) NOT NULL,
+ PRIMARY KEY (`ID`),
+ INDEX `fk_vnf_vfmodule_cvnfc_config_cust__configuration_idx` (`CONFIGURATION_MODEL_UUID` ASC),
+ UNIQUE INDEX `UK_vnf_vfmodule_cvnfc_configuration_customization` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` ASC , `VF_MODULE_MODEL_CUSTOMIZATION_UUID` ASC , `CVNFC_MODEL_CUSTOMIZATION_UUID` ASC , `MODEL_CUSTOMIZATION_UUID` ASC),
+ INDEX `fk_vnf_vfmodule_cvnfc_config_cust__cvnfc_cust1_idx` (`CVNFC_MODEL_CUSTOMIZATION_UUID` ASC),
+ INDEX `fk_vnf_vfmodule_cvnfc_config_cust__vf_module_cust_idx` (`VF_MODULE_MODEL_CUSTOMIZATION_UUID` ASC),
+ INDEX `fk_vnf_vfmodule_cvnfc_config_cust__vnf_res_cust_idx` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID` ASC),
+ CONSTRAINT `fk_vnf_vfmod_cvnfc_config_cust__configuration_resource` FOREIGN KEY (`CONFIGURATION_MODEL_UUID`)
+ REFERENCES `configuration` (`MODEL_UUID`)
+ ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_cvnfc_configuration_customization__cvnfc_customization1` FOREIGN KEY (`CVNFC_MODEL_CUSTOMIZATION_UUID`)
+ REFERENCES `cvnfc_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_vnf_configuration_cvnfc_customization__vf_module_customiza1` FOREIGN KEY (`VF_MODULE_MODEL_CUSTOMIZATION_UUID`)
+ REFERENCES `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `fk_vfmodule_cvnfc_configuration_customization__vnf_resource_c1` FOREIGN KEY (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`)
+ REFERENCES `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`)
+ ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=INNODB AUTO_INCREMENT=20654 DEFAULT CHARACTER SET=LATIN1;
+
--------START Request DB SCHEMA --------
CREATE DATABASE requestdb;
USE requestdb;