check that a la carte is not null 92/79192/1
authorBenjamin, Max (mb388a) <mb388a@us.att.com>
Tue, 26 Feb 2019 14:54:15 +0000 (09:54 -0500)
committerBenjamin, Max (mb388a) <mb388a@us.att.com>
Tue, 26 Feb 2019 14:56:36 +0000 (09:56 -0500)
Handle the case of absent aLaCarte and usePreload settings

Change-Id: Ic3413515218013870ddce97ec225edaa6b6e99c3
Issue-ID: SO-1571
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidation.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/RequestParametersValidationTest.java
mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleRequestParametersNoALaCarte.json [new file with mode: 0644]

index 0b438a1..edb92ef 100644 (file)
@@ -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 {                                                  
index 3fc5a16..2813ef7 100644 (file)
@@ -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<String, String>(), 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 (file)
index 0000000..304065f
--- /dev/null
@@ -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": []
+    }
+  }
+}