refactor repeated duplicate check code to RequestHandlerUtils 71/97571/1
authorPlummer, Brittany <brittany.plummer@att.com>
Thu, 24 Oct 2019 18:32:07 +0000 (14:32 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Thu, 24 Oct 2019 18:32:07 +0000 (14:32 -0400)
Moved repeated code used when checking for duplicate requests to a new
method in RequestHandlerUtils.

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

mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/RequestHandlerUtils.java
mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/ServiceInstances.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/RequestHandlerUtilsUnitTest.java

index e4ae80d..f68af63 100644 (file)
@@ -306,6 +306,22 @@ public class RequestHandlerUtils extends AbstractRestHandler {
         return requestUri;
     }
 
+    public void checkForDuplicateRequests(Actions action, HashMap<String, String> instanceIdMap, String requestScope,
+            InfraActiveRequests currentActiveReq, String instanceName) throws ApiException {
+        InfraActiveRequests dup = null;
+        boolean inProgress = false;
+
+        dup = duplicateCheck(action, instanceIdMap, instanceName, requestScope, currentActiveReq);
+
+        if (dup != null) {
+            inProgress = camundaHistoryCheck(dup, currentActiveReq);
+        }
+
+        if (dup != null && inProgress) {
+            buildErrorOnDuplicateRecord(currentActiveReq, action, instanceIdMap, instanceName, requestScope, dup);
+        }
+    }
+
     public InfraActiveRequests duplicateCheck(Actions action, HashMap<String, String> instanceIdMap,
             String instanceName, String requestScope, InfraActiveRequests currentActiveReq) throws ApiException {
         InfraActiveRequests dup = null;
index 91c6218..bb50130 100644 (file)
@@ -846,19 +846,9 @@ public class ServiceInstances extends AbstractRestHandler {
             currentActiveReq.setNetworkType(networkType);
         }
 
-        InfraActiveRequests dup = null;
-        boolean inProgress = false;
-
-        dup = requestHandlerUtils.duplicateCheck(action, instanceIdMap, instanceName, requestScope, currentActiveReq);
-
-        if (dup != null) {
-            inProgress = requestHandlerUtils.camundaHistoryCheck(dup, currentActiveReq);
-        }
+        requestHandlerUtils.checkForDuplicateRequests(action, instanceIdMap, requestScope, currentActiveReq,
+                instanceName);
 
-        if (dup != null && inProgress) {
-            requestHandlerUtils.buildErrorOnDuplicateRecord(currentActiveReq, action, instanceIdMap, instanceName,
-                    requestScope, dup);
-        }
         ServiceInstancesResponse serviceResponse = new ServiceInstancesResponse();
 
         RequestReferences referencesResponse = new RequestReferences();
@@ -1006,18 +996,7 @@ public class ServiceInstances extends AbstractRestHandler {
             throw validateException;
         }
 
-        InfraActiveRequests dup =
-                requestHandlerUtils.duplicateCheck(action, instanceIdMap, null, requestScope, currentActiveReq);
-        boolean inProgress = false;
-
-        if (dup != null) {
-            inProgress = requestHandlerUtils.camundaHistoryCheck(dup, currentActiveReq);
-        }
-
-        if (dup != null && inProgress) {
-            requestHandlerUtils.buildErrorOnDuplicateRecord(currentActiveReq, action, instanceIdMap, null, requestScope,
-                    dup);
-        }
+        requestHandlerUtils.checkForDuplicateRequests(action, instanceIdMap, requestScope, currentActiveReq, null);
 
         ServiceInstancesResponse serviceResponse = new ServiceInstancesResponse();
 
@@ -1077,18 +1056,8 @@ public class ServiceInstances extends AbstractRestHandler {
         requestHandlerUtils.setInstanceId(currentActiveReq, requestScope, null, instanceIdMap);
         String instanceName = sir.getRequestDetails().getRequestInfo().getInstanceName();
 
-        InfraActiveRequests dup = null;
-
-        dup = requestHandlerUtils.duplicateCheck(action, instanceIdMap, instanceName, requestScope, currentActiveReq);
-
-        if (dup != null) {
-            inProgress = requestHandlerUtils.camundaHistoryCheck(dup, currentActiveReq);
-        }
-
-        if (instanceIdMap != null && dup != null && inProgress) {
-            requestHandlerUtils.buildErrorOnDuplicateRecord(currentActiveReq, action, instanceIdMap, instanceName,
-                    requestScope, dup);
-        }
+        requestHandlerUtils.checkForDuplicateRequests(action, instanceIdMap, requestScope, currentActiveReq,
+                instanceName);
 
         ServiceInstancesResponse serviceResponse = new ServiceInstancesResponse();
         RequestReferences referencesResponse = new RequestReferences();
index d4b0c3a..d0b16cf 100644 (file)
@@ -25,10 +25,12 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.verify;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.sql.Timestamp;
+import java.util.HashMap;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -441,4 +443,28 @@ public class RequestHandlerUtilsUnitTest {
         assertEquals(expected, result);
     }
 
+    @Test
+    public void checkForDuplicateRequestsTest() throws ApiException {
+        InfraActiveRequests currentActiveReq = new InfraActiveRequests();
+        currentActiveReq.setAicCloudRegion("testRegion");
+        currentActiveReq.setRequestId("792a3158-d9a3-49fd-b3ac-ab09842d6a1a");
+        Action action = Action.createInstance;
+        String requestScope = ModelType.service.toString();
+
+        InfraActiveRequests duplicate = new InfraActiveRequests();
+
+        HashMap<String, String> instanceIdMap = new HashMap<String, String>();
+        String instanceName = "instanceName";
+
+        doReturn(duplicate).when(requestHandler).duplicateCheck(action, instanceIdMap, instanceName, requestScope,
+                currentActiveReq);
+        doReturn(true).when(requestHandler).camundaHistoryCheck(duplicate, currentActiveReq);
+        doNothing().when(requestHandler).buildErrorOnDuplicateRecord(currentActiveReq, action, instanceIdMap,
+                instanceName, requestScope, duplicate);
+
+        requestHandler.checkForDuplicateRequests(action, instanceIdMap, requestScope, currentActiveReq, instanceName);
+        verify(requestHandler).buildErrorOnDuplicateRecord(currentActiveReq, action, instanceIdMap, instanceName,
+                requestScope, duplicate);
+    }
+
 }