diff options
author | Benjamin, Max (mb388a) <mb388a@us.att.com> | 2019-01-20 20:17:45 -0500 |
---|---|---|
committer | Benjamin, Max (mb388a) <mb388a@us.att.com> | 2019-01-20 20:18:09 -0500 |
commit | ed127f2838e19bf104399e92d181a512e6761ee3 (patch) | |
tree | d456f07e28c59e0dddf126d7d729fcebf5c5a832 /mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap | |
parent | 9756b9992858a5f513953f1d16b4d9b396a8397a (diff) |
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>
Diffstat (limited to 'mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap')
2 files changed, 54 insertions, 21 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/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 |