Add Spring Component markup to rest validator 87/107987/1
authorKuleshov, Elena <evn@att.com>
Wed, 20 May 2020 15:23:22 +0000 (11:23 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Wed, 20 May 2020 15:23:23 +0000 (11:23 -0400)
Add Spring Component markup to rest validator classes.
Do not invoke serviceInstanceDeleteValidator for macro deletes.

Issue-ID: SO-2945
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: I0eb501bccb016d5d5fed43c3f5d1bd39c7d4fd72

mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/validators/NetworkDeleteValidator.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/validators/RequestValidator.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/validators/ServiceInstanceDeleteValidator.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/validators/VnfDeleteValidator.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/infra/rest/validators/VolumeGroupDeleteValidator.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/infra/rest/validator/ServiceInstanceDeleteValidatorTest.java

index f75897d..89c5cbe 100644 (file)
@@ -8,8 +8,9 @@ import org.onap.so.apihandlerinfra.Actions;
 import org.onap.so.apihandlerinfra.infra.rest.AAIDataRetrieval;
 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
-
+@Component
 public class NetworkDeleteValidator implements RequestValidator {
 
     @Autowired
index 61f757b..843d94c 100644 (file)
@@ -8,8 +8,10 @@ import org.onap.so.apihandlerinfra.Actions;
 import org.onap.so.apihandlerinfra.infra.rest.AAIDataRetrieval;
 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
 
+@Component
 public class ServiceInstanceDeleteValidator implements RequestValidator {
 
     @Autowired
@@ -17,8 +19,17 @@ public class ServiceInstanceDeleteValidator implements RequestValidator {
 
     @Override
     public boolean shouldRunFor(String requestUri, ServiceInstancesRequest request, Actions action) {
+        boolean isALaCarte = false;
+        if (request.getRequestDetails() != null && request.getRequestDetails().getRequestParameters() != null) {
+            if (request.getRequestDetails().getRequestParameters().getALaCarte() == null) {
+                isALaCarte = false;
+            } else {
+                isALaCarte = request.getRequestDetails().getRequestParameters().getALaCarte();
+            }
+
+        }
         return Pattern.compile("[Vv][5-8]/serviceInstances/[^/]+").matcher(requestUri).matches()
-                && action.equals(Action.deleteInstance);
+                && action.equals(Action.deleteInstance) && isALaCarte;
     }
 
     @Override
index d54e60d..37e3f0c 100644 (file)
@@ -8,8 +8,9 @@ import org.onap.so.apihandlerinfra.Actions;
 import org.onap.so.apihandlerinfra.infra.rest.AAIDataRetrieval;
 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
-
+@Component
 public class VnfDeleteValidator implements RequestValidator {
 
     @Autowired
index f010d47..e3598af 100644 (file)
@@ -8,7 +8,9 @@ import org.onap.so.apihandlerinfra.Actions;
 import org.onap.so.apihandlerinfra.infra.rest.AAIDataRetrieval;
 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
+@Component
 public class VolumeGroupDeleteValidator implements RequestValidator {
 
     @Autowired
index c334d52..f461df3 100644 (file)
@@ -5,6 +5,7 @@ import static org.mockito.Mockito.when;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Optional;
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
@@ -14,6 +15,8 @@ import org.mockito.junit.MockitoJUnitRunner;
 import org.onap.so.apihandlerinfra.Action;
 import org.onap.so.apihandlerinfra.infra.rest.AAIDataRetrieval;
 import org.onap.so.apihandlerinfra.infra.rest.validators.ServiceInstanceDeleteValidator;
+import org.onap.so.serviceinstancebeans.RequestDetails;
+import org.onap.so.serviceinstancebeans.RequestParameters;
 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
 
 
@@ -30,22 +33,41 @@ public class ServiceInstanceDeleteValidatorTest {
 
     private Map<String, String> instanceIdMap = new HashMap<>();
 
+    private ServiceInstancesRequest serviceInstancesRequest;
+
+    @Before
+    public void before() {
+        serviceInstancesRequest = new ServiceInstancesRequest();
+        RequestDetails requestDetails = new RequestDetails();
+        RequestParameters requestParameters = new RequestParameters();
+        requestParameters.setaLaCarte(true);
+        requestDetails.setRequestParameters(requestParameters);
+        serviceInstancesRequest.setRequestDetails(requestDetails);
+    }
+
     @Test
     public void validateURIMatchTest() {
-        assertEquals(true, serviceValidator.shouldRunFor("v8/serviceInstances/uasdfasdf", new ServiceInstancesRequest(),
+        assertEquals(true, serviceValidator.shouldRunFor("v8/serviceInstances/uasdfasdf", serviceInstancesRequest,
                 Action.deleteInstance));
     }
 
     @Test
     public void validateURINotMatchTest() {
         assertEquals(false, serviceValidator.shouldRunFor("v8/serviceInstances/uasdfasdf/vnfs/asdfasdf",
-                new ServiceInstancesRequest(), Action.deleteInstance));
+                serviceInstancesRequest, Action.deleteInstance));
     }
 
     @Test
     public void validateURINotMatch2Test() {
         assertEquals(false, serviceValidator.shouldRunFor("v8/serviceInstances/uasdfasdf/update",
-                new ServiceInstancesRequest(), Action.deleteInstance));
+                serviceInstancesRequest, Action.deleteInstance));
+    }
+
+    @Test
+    public void validateNotALaCarteTest() {
+        serviceInstancesRequest.getRequestDetails().getRequestParameters().setaLaCarte(false);
+        assertEquals(false, serviceValidator.shouldRunFor("v8/serviceInstances/uasdfasdf", serviceInstancesRequest,
+                Action.deleteInstance));
     }
 
     @Test