Implement getAllProcessingFlags rest query to 74/110574/1
authorKuleshov, Elena <evn@att.com>
Fri, 24 Jul 2020 17:52:22 +0000 (13:52 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Fri, 24 Jul 2020 17:52:23 +0000 (13:52 -0400)
Implement getAllProcessingFlags rest query to catalog DB.
Remove debug printout from the JUnit test.

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

adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/CatalogDbAdapterRest.java
adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CatalogDBRestTest.java

index f283af1..aa039c6 100644 (file)
@@ -655,4 +655,36 @@ public class CatalogDbAdapterRest {
         return Response.status(HttpStatus.SC_NOT_FOUND).header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
                 .build();
     }
+
+    @GET
+    @Path("processingFlags")
+    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
+    @Transactional(readOnly = true)
+    public Response getAllProcessingFlags() {
+        return getAllProcessingFlagsImpl();
+    }
+
+    public Response getAllProcessingFlagsImpl() {
+        List<ProcessingFlags> processingFlags = null;
+
+        int respStatus = HttpStatus.SC_OK;
+        try {
+            processingFlags = processingFlagsRepo.findAll();
+            if (processingFlags == null) {
+                logger.debug("ProcessingFlags not found");
+                respStatus = HttpStatus.SC_NOT_FOUND;
+            } else {
+
+                logger.debug("ProcessingFlags processingFlags = {}", processingFlags.toString());
+            }
+            return Response.status(respStatus).entity(processingFlags)
+                    .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON).build();
+        } catch (Exception e) {
+            logger.error("Exception - queryProcesssingFlags", e);
+            CatalogQueryException excResp = new CatalogQueryException(e.getMessage(),
+                    CatalogQueryExceptionCategory.INTERNAL, Boolean.FALSE, null);
+            return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR)
+                    .entity(new GenericEntity<CatalogQueryException>(excResp) {}).build();
+        }
+    }
 }
index 04161e9..3906229 100644 (file)
@@ -21,7 +21,9 @@
 package org.onap.so.adapters.catalogdb.catalogrest;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 import java.io.IOException;
+import java.util.List;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import org.json.JSONException;
@@ -37,6 +39,7 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.util.UriComponentsBuilder;
+import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 
@@ -830,6 +833,34 @@ public class CatalogDBRestTest extends CatalogDbAdapterBaseTest {
         assertEquals(processingFlagsResponse.getDescription(), "TEST FLAG");
     }
 
+    @Test
+    public void testGetAllProcessingFlags() throws Exception {
+        HttpEntity<String> entity = new HttpEntity<String>(null, headers);
+        headers.set("Accept", MediaType.APPLICATION_JSON);
+
+        UriComponentsBuilder builder =
+                UriComponentsBuilder.fromHttpUrl(createURLWithPort(ECOMP_MSO_CATALOG_PROCESSING_FLAGS));
+
+        ResponseEntity<String> response =
+                restTemplate.exchange(builder.toUriString(), HttpMethod.GET, entity, String.class);
+
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatusCode().value());
+        ObjectMapper mapper = new ObjectMapper();
+
+        List<ProcessingFlags> processingFlagsResponse =
+                mapper.readValue(response.getBody(), new TypeReference<List<ProcessingFlags>>() {});
+
+        boolean testFlagFound = false;
+        for (int i = 0; i < processingFlagsResponse.size(); i++) {
+            if (processingFlagsResponse.get(i).getFlag().equals("TESTFLAG")) {
+                assertEquals(processingFlagsResponse.get(i).getEndpoint(), "TESTENDPOINT");
+                assertEquals(processingFlagsResponse.get(i).getDescription(), "TEST FLAG");
+                testFlagFound = true;
+            }
+        }
+        assertTrue(testFlagFound);
+    }
+
     @Test
     public void testSetProcessingFlagsFlagValue() throws JSONException {
         ProcessingFlags updatedProcessingFlag = new ProcessingFlags();