ensure data for si matches on macro requests
Fixed failing ValidationExceptionTest
Moved MacroRequest.json to test specific folder
Moved resource files to test specific folder
Cleaned up comments from UserParamsValidationTest
Refactored modelInfoValidation method
Removed unused constants from ValidationException
Removed unused ValidationException
ADded overrideExistingMessage boolean
Added test for missing modelType in userParams service object
Fixed failing JUnit tests in MsoRequestTest
Started fixing failing JUnit tests
Began adding validation and tests for userParams modelInfo
Began adding validation for instanceName
Change-Id: I442f6b660af4e716d75746f8d8155aac1e183e80
Issue-ID: SO-1405
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/MsoRequest.java
index 440a9ea..7f60232 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 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/validation/UserParamsValidation.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/UserParamsValidation.java
index da1f1f6..894e488 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 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 @@
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 aa51704..145213f 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 @@
//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 @@
{"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/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 0000000..c1c4915
--- /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 9e571e6..9d57569 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 26bb217..a7d930f 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 6b32f3e..75e8fb5 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 1aa6094..baf620b 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 1fddf79..6c15285 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 f9a5ea9..3f93139 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 8d3ed69..f3592c2 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 f05fdb0..0fbe1da 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 4436baf..e94c5aa 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 e31523f..c19784f 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 0cf4928..f315ff8 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 5362b43..91e7183 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 ad1c02e..fedaad4 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 81904fe..612586c 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 5b40977..8709619 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 b52be1f..9c650ad 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 2d7ab4a..bc6f8fc 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/ServiceInstanceTest/ServiceAssign.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json
index 7625bf7..fd8b7c4 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 0000000..c3ee53b
--- /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 0000000..f5209ac
--- /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 0000000..ffcb48d
--- /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 0000000..13796ed
--- /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 0000000..0410b9c
--- /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 0000000..f287864
--- /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 0000000..ed2dffe
--- /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 0000000..feb08a3
--- /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