apih format statusdetail to return granular 36/93636/1
authorPlummer, Brittany <brittany.plummer@att.com>
Thu, 15 Aug 2019 19:48:49 +0000 (15:48 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Thu, 15 Aug 2019 19:48:50 +0000 (15:48 -0400)
Should return unchanged requestState on statusDetail queryParam
Formatted files with changes to fix build
Added enum validation for setting requestStatus
Updated test to send in "statusDetail"

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

mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/OrchestrationRequests.java
mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/OrchestrationRequestsUnitTest.java

index 6f36fb2..a5ccb1b 100644 (file)
@@ -42,6 +42,7 @@ import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.UriInfo;
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.EnumUtils;
 import org.apache.http.HttpStatus;
 import org.onap.so.apihandler.common.ErrorNumbers;
 import org.onap.so.apihandler.common.ResponseBuilder;
@@ -411,7 +412,11 @@ public class OrchestrationRequests {
 
     protected String mapRequestStatusToRequest(InfraActiveRequests iar, String format) {
         if (iar.getRequestStatus() != null) {
-            if (!StringUtils.isBlank(format) && OrchestrationRequestFormat.DETAIL.toString().equalsIgnoreCase(format)) {
+            boolean requestFormat = false;
+            if (format != null) {
+                requestFormat = EnumUtils.isValidEnum(OrchestrationRequestFormat.class, format.toUpperCase());
+            }
+            if (requestFormat) {
                 return iar.getRequestStatus();
             } else {
                 if (Status.ABORTED.toString().equalsIgnoreCase(iar.getRequestStatus())
index 5023155..f672648 100644 (file)
@@ -295,6 +295,14 @@ public class OrchestrationRequestsUnitTest {
         assertEquals(Status.ABORTED.toString(), result);
     }
 
+    @Test
+    public void mapRequestStatusToRequestForFormatStatusDetailTest() throws ApiException {
+        iar.setRequestStatus(Status.ABORTED.toString());
+        String result = orchestrationRequests.mapRequestStatusToRequest(iar, "statusDetail");
+
+        assertEquals(Status.ABORTED.toString(), result);
+    }
+
 
     @Test
     public void mapRequestStatusToRequestForFormatEmptyStringTest() throws ApiException {