summaryrefslogtreecommitdiffstats
path: root/mso-api-handlers/mso-api-handler-infra/src
diff options
context:
space:
mode:
Diffstat (limited to 'mso-api-handlers/mso-api-handler-infra/src')
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java2
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/UserParamsValidation.java73
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/MsoRequestTest.java10
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsTest.java15
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/tenantisolation/process/CreateVnfOperationalEnvironmentTest.java40
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/UserParamsValidationTest.java109
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/AssignCloudConfigVnf.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/Network.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkCloudConfig.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelCustomizationId.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelVersionId.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/ProductFamilyId.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsModelVersionId.json6
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatform.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatformName.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsVnfModelInfo.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelCustomizationId.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelVersionId.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModules.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModulesModelInfo.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelCustomizationId.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelVersionId.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/SuccessfulValidation/ServiceAssign.json8
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/OrchestrationRequest/OrchestrationFilterResponse.json4
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json7
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/MacroRequest.json135
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json137
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json134
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json135
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelName.json135
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelType.json135
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersion.json135
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersionId.json135
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/resources/__files/vnfoperenv/endpoints2.json145
35 files changed, 1533 insertions, 95 deletions
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 440a9ea3ee..7f602323e1 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
@@ -162,7 +162,7 @@ public class MsoRequest {
public void parse (ServiceInstancesRequest sir, HashMap<String,String> instanceIdMap, Actions action, String version,
String originalRequestJSON, int reqVersion, Boolean aLaCarteFlag) throws ValidationException, IOException {
- msoLogger.debug ("Validating the Service Instance request");
+ msoLogger.debug ("Validating the Service Instance request");
List<ValidationRule> rules = new ArrayList<>();
msoLogger.debug ("Incoming version is: " + version + " coverting to int: " + reqVersion);
RequestParameters requestParameters = sir.getRequestDetails().getRequestParameters();
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 7ee8654013..b65b82a87d 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
@@ -333,6 +333,10 @@ public class OrchestrationRequests {
String startTimeStamp = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss").format(iar.getStartTime()) + " GMT";
request.setStartTime(startTimeStamp);
}
+ if(iar.getEndTime() != null){
+ String endTimeStamp = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss").format(iar.getEndTime()) + " GMT";
+ request.setFinishTime(endTimeStamp);
+ }
String statusMessages = null;
RequestStatus status = new RequestStatus();
if(iar.getStatusMessage() != null){
@@ -362,10 +366,6 @@ public class OrchestrationRequests {
if(statusMessages != null){
status.setStatusMessage(statusMessages);
}
- if(iar.getEndTime() != null){
- String endTimeStamp = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss").format(iar.getEndTime()) + " GMT";
- status.setFinishTime(endTimeStamp);
- }
if(iar.getModifyTime() != null){
String timeStamp = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss").format(iar.getModifyTime()) + " GMT";
status.setTimeStamp(timeStamp);
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/UserParamsValidation.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/UserParamsValidation.java
index da1f1f6e90..894e488e92 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/UserParamsValidation.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/UserParamsValidation.java
@@ -27,56 +27,60 @@ import java.util.List;
import org.onap.so.apihandlerinfra.Action;
import org.onap.so.apihandlerinfra.Actions;
import org.onap.so.exceptions.ValidationException;
+import org.onap.so.serviceinstancebeans.ModelInfo;
import org.onap.so.serviceinstancebeans.Networks;
import org.onap.so.serviceinstancebeans.Service;
import org.onap.so.serviceinstancebeans.VfModules;
import org.onap.so.serviceinstancebeans.Vnfs;
public class UserParamsValidation implements ValidationRule{
- private static boolean empty(String s) {
- return (s == null || s.trim().isEmpty());
- }
@Override
public ValidationInformation validate(ValidationInformation info) throws ValidationException{
Service validate = info.getUserParams();
Actions action = info.getAction();
if(validate.getModelInfo() == null){
- throw new ValidationException ("model-info in userParams");
+ throw new ValidationException ("modelInfo in userParams", true);
+ }else if(validate.getModelInfo().getModelType() == null){
+ throw new ValidationException("modelType in userParams service modelInfo", true);
}else if(validate.getModelInfo().getModelVersionId() == null){
- throw new ValidationException("modelVersionId in userParams");
+ throw new ValidationException("modelVersionId in userParams service modelInfo", true);
+ }
+ modelInfoValidation(info.getSir().getRequestDetails().getModelInfo(), validate.getModelInfo());
+ if(validate.getInstanceName() != null && info.getRequestInfo().getInstanceName() != null){
+ instanceNameValidation(info, validate);
}
for(Vnfs vnf : validate.getResources().getVnfs()){
if(vnf.getModelInfo() == null){
- throw new ValidationException ("model-info in userParams vnf resources");
+ throw new ValidationException ("modelInfo in userParams vnf resources", true);
}else if(vnf.getModelInfo().getModelCustomizationId() == null){
- throw new ValidationException ("modelCustomizationId in userParams vnf resources");
+ throw new ValidationException ("modelCustomizationId in userParams vnf resources", true);
}else if(vnf.getModelInfo().getModelVersionId() == null){
- throw new ValidationException("modelVersionId in userParams vnf resources");
+ throw new ValidationException("modelVersionId in userParams vnf resources", true);
}
if(vnf.getCloudConfiguration() == null){
- throw new ValidationException ("cloudConfiguration in userParams vnf resources");
+ throw new ValidationException ("cloudConfiguration in userParams vnf resources", true);
}
if(action == Action.createInstance || action == Action.assignInstance){
if(vnf.getPlatform() == null){
- throw new ValidationException ("platform in userParams vnf resources");
+ throw new ValidationException ("platform in userParams vnf resources", true);
}if(vnf.getProductFamilyId() == null){
- throw new ValidationException ("productFamilyId in userParams vnf resources");
+ throw new ValidationException ("productFamilyId in userParams vnf resources", true);
}
}
if (vnf.getPlatform() != null && vnf.getPlatform().getPlatformName() == null){
- throw new ValidationException ("platformName in userParams vnf resources");
+ throw new ValidationException ("platformName in userParams vnf resources", true);
}
if(vnf.getVfModules().isEmpty()){
- throw new ValidationException ("vfModules in userParams vnf resources");
+ throw new ValidationException ("vfModules in userParams vnf resources", true);
}
for(VfModules vfModules : vnf.getVfModules()){
if(vfModules.getModelInfo() == null){
- throw new ValidationException ("model-info in userParams vfModules resources");
+ throw new ValidationException ("modelInfo in userParams vfModules resources", true);
}else if(vfModules.getModelInfo().getModelCustomizationId() == null){
- throw new ValidationException ("modelCustomizationId in userParams vfModule resources");
+ throw new ValidationException ("modelCustomizationId in userParams vfModule resources", true);
}else if(vfModules.getModelInfo().getModelVersionId() == null){
- throw new ValidationException("modelVersionId in userParams vfModule resources");
+ throw new ValidationException("modelVersionId in userParams vfModule resources", true);
}
}
}
@@ -86,17 +90,46 @@ public class UserParamsValidation implements ValidationRule{
if(validateNetworks != null){
for(Networks networks : validateNetworks){
if(networks.getModelInfo() == null){
- throw new ValidationException ("model-info in userParams network resources");
+ throw new ValidationException ("modelInfo in userParams network resources", true);
}else if(networks.getModelInfo().getModelCustomizationId() == null){
- throw new ValidationException ("modelCustomizationId in userParams network resources");
+ throw new ValidationException ("modelCustomizationId in userParams network resources", true);
}else if(networks.getModelInfo().getModelVersionId() == null){
- throw new ValidationException("modelVersionId in userParams network resources");
+ throw new ValidationException("modelVersionId in userParams network resources", true);
}
if(networks.getCloudConfiguration() == null){
- throw new ValidationException ("cloudConfiguration in userParams network resources");
+ throw new ValidationException ("cloudConfiguration in userParams network resources", true);
}
}
}
return info;
}
+ public void instanceNameValidation(ValidationInformation info, Service validate) throws ValidationException{
+ if(!info.getRequestInfo().getInstanceName().equals(validate.getInstanceName())){
+ throw new ValidationException("instanceName in requestInfo", "instanceName in userParams service");
+ }
+ }
+ public void modelInfoValidation(ModelInfo info, ModelInfo userParamInfo) throws ValidationException{
+ if(!info.getModelType().equals(userParamInfo.getModelType())){
+ throw new ValidationException("modelType in modelInfo", "modelType in userParams service");
+ }
+ if((info.getModelInvariantId() != null && userParamInfo.getModelInvariantId() != null) &&
+ (!info.getModelInvariantId().equals(userParamInfo.getModelInvariantId()))){
+ throw new ValidationException("modelInvariantId in modelInfo", "modelInvariantId in userParams service");
+ }
+ if(!info.getModelVersionId().equals(userParamInfo.getModelVersionId())){
+ throw new ValidationException("modelVersionId in modelInfo", "modelVersionId in userParams service");
+ }
+ if((info.getModelName() != null && userParamInfo.getModelName() != null) &&
+ (!info.getModelName().equals(userParamInfo.getModelName()))){
+ throw new ValidationException("modelName in modelInfo", "modelName in userParams service");
+ }
+ if((info.getModelVersion() != null && userParamInfo.getModelVersion() != null) &&
+ (!info.getModelVersion().equals(userParamInfo.getModelVersion()))){
+ throw new ValidationException("modelVersion in modelInfo", "modelVersion in userParams service");
+ }
+ if((info.getModelCustomizationId() != null && userParamInfo.getModelCustomizationId() != null) &&
+ (!info.getModelCustomizationId().equals(userParamInfo.getModelCustomizationId()))){
+ throw new ValidationException("modelCustomizationId in modelInfo", "modelCustomizationId in userParams service");
+ }
+ }
} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/MsoRequestTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/MsoRequestTest.java
index aa51704724..145213fc6c 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/MsoRequestTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/MsoRequestTest.java
@@ -317,9 +317,9 @@ public class MsoRequestTest extends BaseTest {
//Validation for UserParams
{"No valid cloudConfiguration in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/AssignCloudConfigVnf.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
{"No valid cloudConfiguration in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/NetworkCloudConfig.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
- {"No valid model-info in userParams is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
- {"No valid model-info in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsVnfModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
- {"No valid modelVersionId in userParams is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
+ {"No valid modelInfo in userParams is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
+ {"No valid modelInfo in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsVnfModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
+ {"No valid modelVersionId in userParams service modelInfo is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
{"No valid modelVersionId in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/VnfModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
{"No valid modelVersionId in userParams vfModule resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModuleModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
{"No valid modelVersionId in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/NetworkModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
@@ -327,8 +327,8 @@ public class MsoRequestTest extends BaseTest {
{"No valid platformName in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsPlatformName.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
{"No valid productFamilyId in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/ProductFamilyId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
{"No valid vfModules in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModules.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
- {"No valid model-info in userParams vfModules resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModulesModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
- {"No valid model-info in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/Network.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
+ {"No valid modelInfo in userParams vfModules resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModulesModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
+ {"No valid modelInfo in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/Network.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
{"No valid modelCustomizationId in userParams vfModule resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModuleModelCustomizationId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
{"No valid modelCustomizationId in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/VnfModelCustomizationId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
{"No valid modelCustomizationId in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/NetworkModelCustomizationId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
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 4a6a59bebb..28797d247b 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
@@ -31,6 +31,7 @@ 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 static org.junit.Assert.assertNotNull;
import java.io.File;
import java.io.IOException;
@@ -118,13 +119,14 @@ public class OrchestrationRequestsTest extends BaseTest {
assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
assertThat(response.getBody(),
- sameBeanAs(testResponse).ignoring("request.startTime").ignoring("request.requestStatus.finishTime")
+ sameBeanAs(testResponse).ignoring("request.startTime").ignoring("request.finishTime")
.ignoring("request.requestStatus.timeStamp"));
assertEquals("application/json", response.getHeaders().get(HttpHeaders.CONTENT_TYPE).get(0));
assertEquals("0", response.getHeaders().get("X-MinorVersion").get(0));
assertEquals("0", response.getHeaders().get("X-PatchVersion").get(0));
assertEquals("7.0.0", response.getHeaders().get("X-LatestVersion").get(0));
assertEquals("00032ab7-na18-42e5-965d-8ea592502018", response.getHeaders().get("X-TransactionID").get(0));
+ assertNotNull(response.getBody().getRequest().getFinishTime());
}
@Test
@@ -149,8 +151,7 @@ public class OrchestrationRequestsTest extends BaseTest {
assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
assertThat(response.getBody(),
- sameBeanAs(testResponse).ignoring("request.startTime")
- .ignoring("request.requestStatus.finishTime")
+ sameBeanAs(testResponse).ignoring("request.startTime").ignoring("request.finishTime")
.ignoring("request.requestStatus.timeStamp"));
}
@@ -177,8 +178,7 @@ public class OrchestrationRequestsTest extends BaseTest {
assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
assertThat(response.getBody(),
- sameBeanAs(testResponse).ignoring("request.startTime")
- .ignoring("request.requestStatus.finishTime")
+ sameBeanAs(testResponse).ignoring("request.startTime").ignoring("request.finishTime")
.ignoring("request.requestStatus.timeStamp"));
assertEquals("application/json", response.getHeaders().get(HttpHeaders.CONTENT_TYPE).get(0));
assertEquals("0", response.getHeaders().get("X-MinorVersion").get(0));
@@ -227,8 +227,7 @@ public class OrchestrationRequestsTest extends BaseTest {
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")
+ sameBeanAs(testResponse).ignoring("requestList.request.startTime").ignoring("requestList.request.finishTime")
.ignoring("requestList.request.requestStatus.timeStamp"));
assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
assertEquals(requests.size(), response.getBody().getRequestList().size());
@@ -482,4 +481,4 @@ public class OrchestrationRequestsTest extends BaseTest {
.withBody(new String(Files.readAllBytes(Paths.get("src/test/resources/OrchestrationRequest/getRequestDetailsFilter.json"))))
.withStatus(HttpStatus.SC_OK)));
}
-} \ No newline at end of file
+}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/tenantisolation/process/CreateVnfOperationalEnvironmentTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/tenantisolation/process/CreateVnfOperationalEnvironmentTest.java
index 809e39c772..100bc82f7a 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/tenantisolation/process/CreateVnfOperationalEnvironmentTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/tenantisolation/process/CreateVnfOperationalEnvironmentTest.java
@@ -52,6 +52,7 @@ public class CreateVnfOperationalEnvironmentTest extends BaseTest{
private CloudOrchestrationRequest request;
private ServiceEndPointList serviceEndpoints;
+ private ServiceEndPointList serviceEndpoints2;
@Autowired
private CreateVnfOperationalEnvironment createVnfOpEnv;
@@ -63,6 +64,8 @@ public class CreateVnfOperationalEnvironmentTest extends BaseTest{
request = mapper.readValue(jsonRequest, CloudOrchestrationRequest.class);
String jsonServiceEndpoints = getFileContentsAsString("__files/vnfoperenv/endpoints.json");
serviceEndpoints = mapper.readValue(jsonServiceEndpoints, ServiceEndPointList.class);
+ String jsonServiceEndpoints2 = getFileContentsAsString("__files/vnfoperenv/endpoints2.json");
+ serviceEndpoints2 = mapper.readValue(jsonServiceEndpoints2, ServiceEndPointList.class);
}
@Test
public void testGetEcompManagingEnvironmentId() throws Exception {
@@ -83,6 +86,13 @@ public class CreateVnfOperationalEnvironmentTest extends BaseTest{
assertEquals("DEV", createVnfOpEnv.getEnvironmentName(props));
}
+ @Test
+ public void testGetEnvironmentNameEndpointListBeginWithUpperCase() {
+ createVnfOpEnv.setRequest(request);
+ List<Property> props = serviceEndpoints2.getServiceEndPointList().get(0).getProperties();
+ assertEquals("DEV", createVnfOpEnv.getEnvironmentName(props));
+ }
+
@Test
public void testBuildServiceNameForVnf() throws Exception {
createVnfOpEnv.setRequest(request);
@@ -141,4 +151,34 @@ public class CreateVnfOperationalEnvironmentTest extends BaseTest{
.withStatus(HttpStatus.SC_OK)));
createVnfOpEnv.execute(requestId, request);
}
+
+ @Test
+ public void testExecuteEndpointsListBeginWithUppercase() throws ApiException, JsonProcessingException {
+ stubFor(get(urlPathMatching("/aai/" + AAIVersion.LATEST + "/cloud-infrastructure/operational-environments/.*"))
+ .willReturn(aResponse().withHeader("Content-Type", "application/json").withBodyFile("vnfoperenv/ecompOperationalEnvironment.json").withStatus(HttpStatus.SC_ACCEPTED)));
+ stubFor(post(urlPathMatching("/GRMLWPService/v1/serviceEndPoint/findRunning"))
+ .willReturn(aResponse().withHeader("Content-Type", "application/json").withBodyFile("vnfoperenv/endpoints2.json").withStatus(HttpStatus.SC_ACCEPTED)));
+ stubFor(post(urlPathMatching("/GRMLWPService/v1/serviceEndPoint/add"))
+ .willReturn(aResponse().withHeader("Content-Type", "application/json").withStatus(HttpStatus.SC_ACCEPTED)));
+ stubFor(put(urlPathMatching("/aai/" + AAIVersion.LATEST + "/cloud-infrastructure/operational-environments/.*"))
+ .willReturn(aResponse().withHeader("Content-Type", "application/json").withBodyFile("vnfoperenv/ecompOperationalEnvironment.json").withStatus(HttpStatus.SC_ACCEPTED)));
+ String requestId = UUID.randomUUID().toString();
+ InfraActiveRequests iar = new InfraActiveRequests();
+ iar.setRequestId(requestId);
+ iar.setOperationalEnvName("myOpEnv");
+ iar.setRequestScope("create");
+ iar.setRequestStatus("PENDING");
+ iar.setRequestAction("UNKNOWN");
+ ObjectMapper mapper = new ObjectMapper();
+ stubFor(post(urlPathEqualTo("/infraActiveRequests/"))
+ .withRequestBody(containing("{\"requestId\":\""+ requestId+"\",\"clientRequestId\":null,\"action\":null,\"requestStatus\":\"COMPLETE\",\"statusMessage\":\"SUCCESSFUL"))
+ .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+ .withStatus(HttpStatus.SC_OK)));
+
+ stubFor(get(urlPathEqualTo("/infraActiveRequests/"+requestId))
+ .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+ .withBody(mapper.writeValueAsString(iar))
+ .withStatus(HttpStatus.SC_OK)));
+ createVnfOpEnv.execute(requestId, request);
+ }
}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/UserParamsValidationTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/UserParamsValidationTest.java
new file mode 100644
index 0000000000..c1c4915672
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/UserParamsValidationTest.java
@@ -0,0 +1,109 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.apihandlerinfra.validation;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Map;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.onap.so.apihandlerinfra.Action;
+import org.onap.so.exceptions.ValidationException;
+import org.onap.so.serviceinstancebeans.Service;
+import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class UserParamsValidationTest{
+
+ UserParamsValidation validation = new UserParamsValidation();
+
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
+
+ public ValidationInformation setupValidationInformation(String path) throws IOException{
+ String jsonInput = new String(Files.readAllBytes(Paths.get(path)));
+ ObjectMapper mapper = new ObjectMapper();
+ ServiceInstancesRequest sir = mapper.readValue(jsonInput, ServiceInstancesRequest.class);
+ ValidationInformation info = new ValidationInformation(sir, null, Action.createInstance, 7, false, sir.getRequestDetails().getRequestParameters());
+ for(Map<String, Object> params : sir.getRequestDetails().getRequestParameters().getUserParams()){
+ ObjectMapper obj = new ObjectMapper();
+ String input = obj.writeValueAsString(params.get("service"));
+ Service validate = obj.readValue(input, Service.class);
+ info.setUserParams(validate);
+ break;
+ }
+ info.setRequestInfo(sir.getRequestDetails().getRequestInfo());
+ return info;
+ }
+
+ @Test
+ public void validateModelTypeExceptionTest() throws IOException, ValidationException{
+ thrown.expect(ValidationException.class);
+ thrown.expectMessage("No valid modelType in userParams service modelInfo is specified");
+ validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json"));
+ }
+ @Test
+ public void validateInstanceNameExceptionTest() throws IOException, ValidationException{
+ thrown.expect(ValidationException.class);
+ thrown.expectMessage("instanceName in requestInfo does not match instanceName in userParams service");
+ validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/MacroRequest.json"));
+ }
+ @Test
+ public void validateModelTypeTest() throws ValidationException, IOException{
+ thrown.expect(ValidationException.class);
+ thrown.expectMessage("modelType in modelInfo does not match modelType in userParams service");
+ validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelType.json"));
+ }
+ @Test
+ public void validateModelInvariantIdTest() throws ValidationException, IOException{
+ thrown.expect(ValidationException.class);
+ thrown.expectMessage("modelInvariantId in modelInfo does not match modelInvariantId in userParams service");
+ validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json"));
+ }
+ @Test
+ public void validateModelVersionIdTest() throws ValidationException, IOException{
+ thrown.expect(ValidationException.class);
+ thrown.expectMessage("modelVersionId in modelInfo does not match modelVersionId in userParams service");
+ validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelVersionId.json"));
+ }
+ @Test
+ public void validateModelNameTest() throws ValidationException, IOException{
+ thrown.expect(ValidationException.class);
+ thrown.expectMessage("modelName in modelInfo does not match modelName in userParams service");
+ validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelName.json"));
+ }
+ @Test
+ public void validateModelVersionTest() throws ValidationException, IOException{
+ thrown.expect(ValidationException.class);
+ thrown.expectMessage("modelVersion in modelInfo does not match modelVersion in userParams service");
+ validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelVersion.json"));
+ }
+ @Test
+ public void validateModelCustomizationIdTest() throws ValidationException, IOException{
+ thrown.expect(ValidationException.class);
+ thrown.expectMessage("modelCustomizationId in modelInfo does not match modelCustomizationId in userParams service");
+ validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json"));
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/AssignCloudConfigVnf.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/AssignCloudConfigVnf.json
index 9e571e6e37..9d575695c5 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/AssignCloudConfigVnf.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/AssignCloudConfigVnf.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "testModelName",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "testModelName",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/Network.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/Network.json
index 26bb2172f8..a7d930f756 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/Network.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/Network.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkCloudConfig.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkCloudConfig.json
index 6b32f3ebe3..75e8fb5cd1 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkCloudConfig.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkCloudConfig.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelCustomizationId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelCustomizationId.json
index 1aa6094513..baf620b668 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelCustomizationId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelCustomizationId.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelVersionId.json
index 1fddf7970b..6c152855ee 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelVersionId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelVersionId.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/ProductFamilyId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/ProductFamilyId.json
index f9a5ea9a01..3f93139587 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/ProductFamilyId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/ProductFamilyId.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsModelVersionId.json
index 8d3ed69863..f3592c2e05 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsModelVersionId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsModelVersionId.json
@@ -34,8 +34,10 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatform.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatform.json
index f05fdb06ba..0fbe1dadcc 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatform.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatform.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatformName.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatformName.json
index 4436baffe4..e94c5aad13 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatformName.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatformName.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsVnfModelInfo.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsVnfModelInfo.json
index e31523f99d..c19784f2fe 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsVnfModelInfo.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsVnfModelInfo.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelCustomizationId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelCustomizationId.json
index 0cf4928581..f315ff89a6 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelCustomizationId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelCustomizationId.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelVersionId.json
index 5362b439dc..91e71839a2 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelVersionId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelVersionId.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModules.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModules.json
index ad1c02e37b..fedaad42df 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModules.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModules.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModulesModelInfo.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModulesModelInfo.json
index 81904fe66a..612586c84f 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModulesModelInfo.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModulesModelInfo.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelCustomizationId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelCustomizationId.json
index 5b4097793c..8709619fb9 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelCustomizationId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelCustomizationId.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelVersionId.json
index b52be1f4c2..9c650ad439 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelVersionId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelVersionId.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/SuccessfulValidation/ServiceAssign.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/SuccessfulValidation/ServiceAssign.json
index 2d7ab4ae7c..bc6f8fc610 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/SuccessfulValidation/ServiceAssign.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/SuccessfulValidation/ServiceAssign.json
@@ -34,9 +34,11 @@
{
"service": {
"modelInfo": {
- "modelName": "MOW vMX BV 1 Service",
- "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b"
+ "modelType": "service",
+ "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName": "MOW vMX BV 1 Service",
+ "modelVersion": "10"
},
"instanceParams": [],
"resources": {
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
index 50654524f1..dde4392c38 100644
--- 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
@@ -29,7 +29,6 @@
"requestState": "COMPLETE",
"statusMessage": "STATUS: COMPLETED",
"percentProgress": 100,
- "finishTime": "Tue, 02 May 2017 06:33:34 GMT",
"timeStamp": "Fri, 01 Jul 2016 04:41:42 GMT"
}
}
@@ -64,7 +63,6 @@
"requestState": "COMPLETE",
"statusMessage": "STATUS: Vf Module has been deleted successfully. FLOW STATUS: Building blocks 1 of 3 completed. ROLLBACK STATUS: Rollback has been completed successfully.",
"percentProgress": 100,
- "finishTime": "Thu, 22 Dec 2016 08:30:28 GMT",
"timeStamp": "Thu, 22 Dec 2016 08:30:28 GMT"
}
}
@@ -99,7 +97,6 @@
"requestState": "PENDING",
"statusMessage": "STATUS: Vf Module deletion pending.",
"percentProgress": 0,
- "finishTime": "Thu, 22 Dec 2016 08:30:28 GMT",
"timeStamp": "Thu, 22 Dec 2016 08:30:28 GMT"
}
}
@@ -184,7 +181,6 @@
"requestState": "UNLOCKED",
"statusMessage": "STATUS: Vf Module deletion pending.",
"percentProgress": 0,
- "finishTime": "Thu, 22 Dec 2016 08:30:28 GMT",
"timeStamp": "Mon, 30 Jul 2018 06:09:01 GMT"
}
}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json
index 7625bf7589..fd8b7c4e69 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json
@@ -35,9 +35,10 @@
"service":{
"modelInfo":{
"modelType":"service",
- "modelName":"MOW",
- "modelVersionId":"3c40d244-808e-42ca-b09a-256d83d19d0a",
- "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+ "modelInvariantId":"5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+ "modelVersionId":"3c40d244-808e-42ca-b09a-256d83d19d0a",
+ "modelName":"MOW vMX BV 1 Service",
+ "modelVersion":"10.0"
},
"instanceParams":[
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/MacroRequest.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/MacroRequest.json
new file mode 100644
index 0000000000..c3ee53b3b4
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/MacroRequest.json
@@ -0,0 +1,135 @@
+{
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "requestInfo": {
+ "productFamilyId": "testaaS",
+ "source": "VID",
+ "suppressRollback": false,
+ "requestorId": "ss616y",
+ "instanceName": "instanceName"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "requestParameters": {
+ "subscriptionServiceType": "test",
+ "userParams": [
+ {
+ "service": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "instanceName" : "test",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_bandwidth": "10",
+ "mow_adig_test_bv_ist0_ASN": "2685",
+ "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+ "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+ "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+ }
+ ],
+ "resources": {
+ "vnfs": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+ "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+ "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelType": "service",
+ "modelVersion": "2.0"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "mdt25b",
+ "tenantId": "aefb697db6524ddebfe4915591b0a347"
+ },
+ "platform": {
+ "platformName": "AIC"
+ },
+ "lineOfBusiness": {},
+ "productFamilyId": "testaaS",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+ }
+ ],
+ "vfModules": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+ "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+ "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+ "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": [
+ {
+ "mow_adig_test_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_ist0_bandwidth_units": "Gbps"
+ }
+ ]
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+ "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+ "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+ "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": []
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+ "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+ "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+ "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelType": "service",
+ "modelVersion": "1"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "aLaCarte": false
+ },
+ "project": {
+ "projectName": "GigaPower"
+ },
+ "owningEntity": {
+ "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+ "owningEntityName": "PACKET-CORE"
+ }
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json
new file mode 100644
index 0000000000..f5209ac774
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json
@@ -0,0 +1,137 @@
+{
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbad"
+ },
+ "requestInfo": {
+ "productFamilyId": "testaaS",
+ "source": "VID",
+ "suppressRollback": false,
+ "requestorId": "ss616y",
+ "instanceName": "instanceName"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "requestParameters": {
+ "subscriptionServiceType": "test",
+ "userParams": [
+ {
+ "service": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbae"
+ },
+ "instanceName" : "test",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_bandwidth": "10",
+ "mow_adig_test_bv_ist0_ASN": "2685",
+ "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+ "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+ "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+ }
+ ],
+ "resources": {
+ "vnfs": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+ "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+ "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelType": "service",
+ "modelVersion": "2.0"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "mdt25b",
+ "tenantId": "aefb697db6524ddebfe4915591b0a347"
+ },
+ "platform": {
+ "platformName": "AIC"
+ },
+ "lineOfBusiness": {},
+ "productFamilyId": "testaaS",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+ }
+ ],
+ "vfModules": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+ "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+ "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+ "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": [
+ {
+ "mow_adig_test_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_ist0_bandwidth_units": "Gbps"
+ }
+ ]
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+ "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+ "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+ "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": []
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+ "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+ "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+ "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelType": "service",
+ "modelVersion": "1"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "aLaCarte": false
+ },
+ "project": {
+ "projectName": "GigaPower"
+ },
+ "owningEntity": {
+ "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+ "owningEntityName": "PACKET-CORE"
+ }
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json
new file mode 100644
index 0000000000..ffcb48daf3
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json
@@ -0,0 +1,134 @@
+{
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "requestInfo": {
+ "productFamilyId": "testaaS",
+ "source": "VID",
+ "suppressRollback": false,
+ "requestorId": "ss616y",
+ "instanceName": "instanceName"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "requestParameters": {
+ "subscriptionServiceType": "test",
+ "userParams": [
+ {
+ "service": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "instanceName" : "test",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_bandwidth": "10",
+ "mow_adig_test_bv_ist0_ASN": "2685",
+ "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+ "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+ "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+ }
+ ],
+ "resources": {
+ "vnfs": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+ "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+ "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelType": "service",
+ "modelVersion": "2.0"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "mdt25b",
+ "tenantId": "aefb697db6524ddebfe4915591b0a347"
+ },
+ "platform": {
+ "platformName": "AIC"
+ },
+ "lineOfBusiness": {},
+ "productFamilyId": "testaaS",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+ }
+ ],
+ "vfModules": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+ "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+ "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+ "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": [
+ {
+ "mow_adig_test_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_ist0_bandwidth_units": "Gbps"
+ }
+ ]
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+ "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+ "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+ "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": []
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+ "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+ "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+ "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelType": "service",
+ "modelVersion": "1"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "aLaCarte": false
+ },
+ "project": {
+ "projectName": "GigaPower"
+ },
+ "owningEntity": {
+ "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+ "owningEntityName": "PACKET-CORE"
+ }
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json
new file mode 100644
index 0000000000..13796ed3f9
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json
@@ -0,0 +1,135 @@
+{
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "requestInfo": {
+ "productFamilyId": "testaaS",
+ "source": "VID",
+ "suppressRollback": false,
+ "requestorId": "ss616y",
+ "instanceName": "instanceName"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "requestParameters": {
+ "subscriptionServiceType": "test",
+ "userParams": [
+ {
+ "service": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531e",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "instanceName" : "test",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_bandwidth": "10",
+ "mow_adig_test_bv_ist0_ASN": "2685",
+ "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+ "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+ "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+ }
+ ],
+ "resources": {
+ "vnfs": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+ "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+ "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelType": "service",
+ "modelVersion": "2.0"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "mdt25b",
+ "tenantId": "aefb697db6524ddebfe4915591b0a347"
+ },
+ "platform": {
+ "platformName": "AIC"
+ },
+ "lineOfBusiness": {},
+ "productFamilyId": "testaaS",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+ }
+ ],
+ "vfModules": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+ "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+ "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+ "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": [
+ {
+ "mow_adig_test_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_ist0_bandwidth_units": "Gbps"
+ }
+ ]
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+ "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+ "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+ "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": []
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+ "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+ "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+ "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelType": "service",
+ "modelVersion": "1"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "aLaCarte": false
+ },
+ "project": {
+ "projectName": "GigaPower"
+ },
+ "owningEntity": {
+ "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+ "owningEntityName": "PACKET-CORE"
+ }
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelName.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelName.json
new file mode 100644
index 0000000000..0410b9c50d
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelName.json
@@ -0,0 +1,135 @@
+{
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "requestInfo": {
+ "productFamilyId": "testaaS",
+ "source": "VID",
+ "suppressRollback": false,
+ "requestorId": "ss616y",
+ "instanceName": "instanceName"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "requestParameters": {
+ "subscriptionServiceType": "test",
+ "userParams": [
+ {
+ "service": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST2",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "instanceName" : "test",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_bandwidth": "10",
+ "mow_adig_test_bv_ist0_ASN": "2685",
+ "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+ "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+ "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+ }
+ ],
+ "resources": {
+ "vnfs": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+ "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+ "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelType": "service",
+ "modelVersion": "2.0"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "mdt25b",
+ "tenantId": "aefb697db6524ddebfe4915591b0a347"
+ },
+ "platform": {
+ "platformName": "AIC"
+ },
+ "lineOfBusiness": {},
+ "productFamilyId": "testaaS",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+ }
+ ],
+ "vfModules": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+ "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+ "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+ "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": [
+ {
+ "mow_adig_test_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_ist0_bandwidth_units": "Gbps"
+ }
+ ]
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+ "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+ "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+ "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": []
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+ "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+ "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+ "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelType": "service",
+ "modelVersion": "1"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "aLaCarte": false
+ },
+ "project": {
+ "projectName": "GigaPower"
+ },
+ "owningEntity": {
+ "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+ "owningEntityName": "PACKET-CORE"
+ }
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelType.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelType.json
new file mode 100644
index 0000000000..f287864a93
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelType.json
@@ -0,0 +1,135 @@
+{
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "requestInfo": {
+ "productFamilyId": "testaaS",
+ "source": "VID",
+ "suppressRollback": false,
+ "requestorId": "ss616y",
+ "instanceName": "instanceName"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "requestParameters": {
+ "subscriptionServiceType": "test",
+ "userParams": [
+ {
+ "service": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "vnf",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "instanceName" : "test",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_bandwidth": "10",
+ "mow_adig_test_bv_ist0_ASN": "2685",
+ "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+ "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+ "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+ }
+ ],
+ "resources": {
+ "vnfs": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+ "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+ "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelType": "service",
+ "modelVersion": "2.0"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "mdt25b",
+ "tenantId": "aefb697db6524ddebfe4915591b0a347"
+ },
+ "platform": {
+ "platformName": "AIC"
+ },
+ "lineOfBusiness": {},
+ "productFamilyId": "testaaS",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+ }
+ ],
+ "vfModules": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+ "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+ "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+ "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": [
+ {
+ "mow_adig_test_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_ist0_bandwidth_units": "Gbps"
+ }
+ ]
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+ "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+ "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+ "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": []
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+ "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+ "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+ "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelType": "service",
+ "modelVersion": "1"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "aLaCarte": false
+ },
+ "project": {
+ "projectName": "GigaPower"
+ },
+ "owningEntity": {
+ "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+ "owningEntityName": "PACKET-CORE"
+ }
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersion.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersion.json
new file mode 100644
index 0000000000..ed2dffeb41
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersion.json
@@ -0,0 +1,135 @@
+{
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "requestInfo": {
+ "productFamilyId": "testaaS",
+ "source": "VID",
+ "suppressRollback": false,
+ "requestorId": "ss616y",
+ "instanceName": "instanceName"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "requestParameters": {
+ "subscriptionServiceType": "test",
+ "userParams": [
+ {
+ "service": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "2.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "instanceName" : "test",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_bandwidth": "10",
+ "mow_adig_test_bv_ist0_ASN": "2685",
+ "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+ "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+ "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+ }
+ ],
+ "resources": {
+ "vnfs": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+ "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+ "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelType": "service",
+ "modelVersion": "2.0"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "mdt25b",
+ "tenantId": "aefb697db6524ddebfe4915591b0a347"
+ },
+ "platform": {
+ "platformName": "AIC"
+ },
+ "lineOfBusiness": {},
+ "productFamilyId": "testaaS",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+ }
+ ],
+ "vfModules": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+ "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+ "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+ "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": [
+ {
+ "mow_adig_test_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_ist0_bandwidth_units": "Gbps"
+ }
+ ]
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+ "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+ "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+ "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": []
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+ "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+ "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+ "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelType": "service",
+ "modelVersion": "1"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "aLaCarte": false
+ },
+ "project": {
+ "projectName": "GigaPower"
+ },
+ "owningEntity": {
+ "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+ "owningEntityName": "PACKET-CORE"
+ }
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersionId.json
new file mode 100644
index 0000000000..feb08a3b6d
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersionId.json
@@ -0,0 +1,135 @@
+{
+ "requestDetails": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "requestInfo": {
+ "productFamilyId": "testaaS",
+ "source": "VID",
+ "suppressRollback": false,
+ "requestorId": "ss616y",
+ "instanceName": "instanceName"
+ },
+ "subscriberInfo": {
+ "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "requestParameters": {
+ "subscriptionServiceType": "test",
+ "userParams": [
+ {
+ "service": {
+ "modelInfo": {
+ "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+ "modelType": "service",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelVersion": "1.0",
+ "modelVersionId": "109a153e-325f-4df5-8161-edd91314daed",
+ "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+ "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+ },
+ "instanceName" : "test",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_bandwidth": "10",
+ "mow_adig_test_bv_ist0_ASN": "2685",
+ "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+ "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+ "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+ }
+ ],
+ "resources": {
+ "vnfs": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+ "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+ "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+ "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+ "modelName": "MOW_ADIG_test_BV_IST",
+ "modelType": "service",
+ "modelVersion": "2.0"
+ },
+ "cloudConfiguration": {
+ "lcpCloudRegionId": "mdt25b",
+ "tenantId": "aefb697db6524ddebfe4915591b0a347"
+ },
+ "platform": {
+ "platformName": "AIC"
+ },
+ "lineOfBusiness": {},
+ "productFamilyId": "testaaS",
+ "instanceParams": [
+ {
+ "mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+ "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+ "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+ }
+ ],
+ "vfModules": [
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+ "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+ "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+ "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": [
+ {
+ "mow_adig_test_ist0_vnf_config_template_version": "17.2",
+ "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+ "mow_adig_test_ist0_bandwidth_units": "Gbps"
+ }
+ ]
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+ "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+ "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+ "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+ "modelType": "service",
+ "modelVersion": "1"
+ },
+ "instanceParams": []
+ },
+ {
+ "modelInfo": {
+ "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+ "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+ "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+ "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+ "modelType": "service",
+ "modelVersion": "1"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "aLaCarte": false
+ },
+ "project": {
+ "projectName": "GigaPower"
+ },
+ "owningEntity": {
+ "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+ "owningEntityName": "PACKET-CORE"
+ }
+ }
+} \ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/__files/vnfoperenv/endpoints2.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/__files/vnfoperenv/endpoints2.json
new file mode 100644
index 0000000000..7c9816ff55
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/__files/vnfoperenv/endpoints2.json
@@ -0,0 +1,145 @@
+{
+ "ServiceEndPointList": [
+ {
+ "name": "dummy.pod.ns.dummy-pod3",
+ "version": {
+ "major": 1,
+ "minor": 0,
+ "patch": "0"
+ },
+ "hostAddress": "192.168.120.218",
+ "listenPort": "32004",
+ "latitude": "37.7022",
+ "longitude": "121.9358",
+ "registrationTime": "2017-07-18T15:39:17.367+0000",
+ "expirationTime": "9999-10-09T15:39:17.368+0000",
+ "contextPath": "/",
+ "routeOffer": "DEFAULT",
+ "statusInfo": {
+ "status": "RUNNING"
+ },
+ "eventStatusInfo": {
+ "status": "RUNNING"
+ },
+ "validatorStatusInfo": {
+ "status": "RUNNING"
+ },
+ "operationalInfo": {
+ "createdBy": "edge",
+ "updatedBy": "edge",
+ "createdTimestamp": "2017-07-18T15:39:17.367+0000",
+ "updatedTimestamp": "2017-07-18T15:39:17.367+0000"
+ },
+ "protocol": "dummypod-port",
+ "properties": [
+ {
+ "name": "Environment",
+ "value": "DEV"
+ },
+ {
+ "name": "Kubernetes Namespace",
+ "value": "dummy-pod-ns"
+ },
+ {
+ "name": "cpfrun_cluster_name",
+ "value": "CI-PDK1-TFINIT-CJ9125401"
+ }
+ ],
+ "disableType": []
+ },
+ {
+ "name": "dummy.pod.ns.dummy-pod3",
+ "version": {
+ "major": 1,
+ "minor": 0,
+ "patch": "0"
+ },
+ "hostAddress": "192.168.120.22",
+ "listenPort": "32004",
+ "latitude": "1.0",
+ "longitude": "1.0",
+ "registrationTime": "2017-07-18T15:39:17.816+0000",
+ "expirationTime": "9999-10-09T15:39:17.817+0000",
+ "contextPath": "/",
+ "routeOffer": "DEFAULT",
+ "statusInfo": {
+ "status": "RUNNING"
+ },
+ "eventStatusInfo": {
+ "status": "RUNNING"
+ },
+ "validatorStatusInfo": {
+ "status": "RUNNING"
+ },
+ "operationalInfo": {
+ "createdBy": "edge",
+ "updatedBy": "edge",
+ "createdTimestamp": "2017-07-18T15:39:17.816+0000",
+ "updatedTimestamp": "2017-07-18T15:39:17.816+0000"
+ },
+ "protocol": "dummypod-port",
+ "properties": [
+ {
+ "name": "Environment",
+ "value": "DEV"
+ },
+ {
+ "name": "Kubernetes Namespace",
+ "value": "dummy-pod-ns"
+ },
+ {
+ "name": "cpfrun_cluster_name",
+ "value": "CI-PDK1-TFINIT-CJ9125401"
+ }
+ ],
+ "disableType": []
+ },
+ {
+ "name": "dummy.pod.ns.dummy-pod1",
+ "version": {
+ "major": 1,
+ "minor": 0,
+ "patch": "0"
+ },
+ "hostAddress": "192.168.120.218",
+ "listenPort": "32002",
+ "latitude": "1.0",
+ "longitude": "1.0",
+ "registrationTime": "2017-07-18T15:39:14.443+0000",
+ "expirationTime": "9999-10-09T15:39:14.453+0000",
+ "contextPath": "/",
+ "routeOffer": "DEFAULT",
+ "statusInfo": {
+ "status": "RUNNING"
+ },
+ "eventStatusInfo": {
+ "status": "RUNNING"
+ },
+ "validatorStatusInfo": {
+ "status": "RUNNING"
+ },
+ "operationalInfo": {
+ "createdBy": "edge",
+ "updatedBy": "edge",
+ "createdTimestamp": "2017-07-18T15:39:14.443+0000",
+ "updatedTimestamp": "2017-07-18T15:39:14.443+0000"
+ },
+ "protocol": "dummypod-port",
+ "properties": [
+ {
+ "name": "Environment",
+ "value": "DEV"
+ },
+ {
+ "name": "Kubernetes Namespace",
+ "value": "dummy-pod-ns"
+ },
+ {
+ "name": "cpfrun_cluster_name",
+ "value": "CI-PDK1-TFINIT-CJ9125401"
+ }
+ ],
+ "disableType": []
+ }
+ ]
+} \ No newline at end of file