From a39f8b79fdf35370c8ee83c4ee92549feaf63d3e Mon Sep 17 00:00:00 2001 From: "Benjamin, Max (mb388a)" Date: Tue, 26 Feb 2019 09:54:15 -0500 Subject: check that a la carte is not null Handle the case of absent aLaCarte and usePreload settings Change-Id: Ic3413515218013870ddce97ec225edaa6b6e99c3 Issue-ID: SO-1571 Signed-off-by: Benjamin, Max (mb388a) --- .../validation/RequestParametersValidation.java | 4 +- .../RequestParametersValidationTest.java | 15 ++++++ .../VfModuleRequestParametersNoALaCarte.json | 55 ++++++++++++++++++++++ 3 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleRequestParametersNoALaCarte.json (limited to 'mso-api-handlers') diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidation.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidation.java index 0b438a1b17..edb92ef68b 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidation.java +++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidation.java @@ -21,8 +21,6 @@ package org.onap.so.apihandlerinfra.validation; -import java.util.Map; - import org.onap.so.apihandlerinfra.Action; import org.onap.so.apihandlerinfra.Actions; import org.onap.so.exceptions.ValidationException; @@ -75,7 +73,7 @@ public class RequestParametersValidation implements ValidationRule{ if(action == Action.createInstance || action == Action.updateInstance){ if(requestParameters.isUsePreload() == null){ if(reqVersion >= 4){ - if (requestParameters.getALaCarte() == false) { + if (requestParameters.getALaCarte() == null || requestParameters.getALaCarte() == false) { requestParameters.setUsePreload(false); } else { diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidationTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidationTest.java index 3fc5a16d9d..2813ef7b70 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidationTest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidationTest.java @@ -54,6 +54,21 @@ public class RequestParametersValidationTest extends BaseTest{ assertFalse(info.getReqParameters().getUsePreload()); } + @Test + public void testVfModuleWithNoALaCarte() throws IOException, ValidationException { + String requestJson = new String(Files.readAllBytes(Paths.get("src/test/resources/MsoRequestTest/RequestParameters/VfModuleRequestParametersNoALaCarte.json"))); + ObjectMapper mapper = new ObjectMapper(); + ServiceInstancesRequest sir = mapper.readValue(requestJson, ServiceInstancesRequest.class); + ValidationInformation info = new ValidationInformation(sir, new HashMap(), Action.createInstance, + 6, false, sir.getRequestDetails().getRequestParameters()); + info.setRequestScope("vfModule"); + sir.setServiceInstanceId("0fd90c0c-0e3a-46e2-abb5-4c4820d5985b"); + RequestParametersValidation validation = new RequestParametersValidation(); + validation.validate(info); + + assertFalse(info.getReqParameters().getUsePreload()); + } + @Test public void testVfModuleWithTrueALaCarte() throws IOException, ValidationException { String requestJson = new String(Files.readAllBytes(Paths.get("src/test/resources/MsoRequestTest/RequestParameters/VfModuleRequestParametersIsALaCarte.json"))); diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleRequestParametersNoALaCarte.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleRequestParametersNoALaCarte.json new file mode 100644 index 0000000000..304065f930 --- /dev/null +++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleRequestParametersNoALaCarte.json @@ -0,0 +1,55 @@ +{ + "requestDetails": { + "modelInfo": { + "modelType": "vfModule", + "modelName": "InframsoVsamp10a2..vSAMP10a_addon_2..module-1", + "modelVersionId": "dcd3d939-67cd-438c-a55f-48073811f83f", + "modelInvariantId": "b42d49f3-6429-4c2e-a73c-29bef87ca1b9", + "modelVersion": "1", + "modelCustomizationId": "3bec51f8-b410-40f5-b470-25d31f7210dc" + }, + "cloudConfiguration": { + "cloudOwner": "CloudOwner", + "lcpCloudRegionId": "mtn6", + "tenantId": "0422ffb57ba042c0800a29dc85ca70f8" + }, + "requestInfo": { + "instanceName": "InfraMSO-vSAMP10a_6.0-VF-Module_1-1902-est01-GR_API-101", + "source": "VID", + "suppressRollback": false, + "requestorId": "bs7527" + }, + "relatedInstanceList": [ + { + "relatedInstance": { + "instanceId": "43075e6e-4d95-4bca-b9e5-712d0a14fbc2", + "modelInfo": { + "modelType": "service", + "modelName": "InfraMSO_vSAMP10a_Service", + "modelVersionId": "8f6fba78-8eab-4149-8be1-491ef7f63cf7", + "modelInvariantId": "653030db-85e2-4bd1-8c61-3764ebf5860a", + "modelVersion": "6.0" + } + } + }, + { + "relatedInstance": { + "instanceId": "7c1ff5bc-fb41-48a7-b997-f9fdb3ab4a77", + "modelInfo": { + "modelType": "vnf", + "modelName": "InfraMSO_vSAMP10a-2", + "modelVersionId": "cb79c25f-b30d-4d95-afb5-97be4021f3db", + "modelInvariantId": "e93d3a7a-446d-486b-ae48-d474a9156064", + "modelVersion": "1.0", + "modelCustomizationId": "034226ae-879a-46b5-855c-d02babcb6cb6", + "modelCustomizationName": "InfraMSO_vSAMP10a-2 0" + } + } + } + ], + "requestParameters": { + "testApi": "GR_API", + "userParams": [] + } + } +} -- cgit 1.2.3-korg