add junit coverage 98/125798/1
authorLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Fri, 19 Nov 2021 15:54:25 +0000 (16:54 +0100)
committerLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Fri, 19 Nov 2021 15:54:25 +0000 (16:54 +0100)
Issue-ID: SO-3796
Signed-off-by: Lukasz Muszkieta <lukasz.muszkieta@nokia.com>
Change-Id: Ic499c0ec10548f1f2297b66f60faa99e6cd6dd6c

so-optimization-clients/src/main/java/org/onap/so/client/sniro/SniroValidator.java
so-optimization-clients/src/test/java/org/onap/so/client/sniro/SniroValidatorTest.java [new file with mode: 0644]

index fc16125..9a66f75 100644 (file)
@@ -24,7 +24,7 @@ package org.onap.so.client.sniro;
 
 
 import static org.apache.commons.lang3.StringUtils.*;
-import java.util.LinkedHashMap;
+import java.util.Map;
 import org.json.JSONObject;
 import org.onap.so.client.exception.BadResponseException;
 import org.slf4j.Logger;
@@ -38,12 +38,14 @@ public class SniroValidator {
 
     private static final Logger logger = LoggerFactory.getLogger(SniroValidator.class);
 
+    private static final String MESSAGE_NOT_PROVIDED = "error message not provided";
+
     /**
      * Validates the synchronous homing response from sniro manager
      *
      * @throws BadResponseException
      */
-    public void validateDemandsResponse(LinkedHashMap<String, Object> response) throws BadResponseException {
+    public void validateDemandsResponse(Map<String, Object> response) throws BadResponseException {
         logger.debug("Validating Sniro Managers synchronous response");
         if (!response.isEmpty()) {
             JSONObject jsonResponse = new JSONObject(response);
@@ -54,10 +56,10 @@ public class SniroValidator {
                 } else {
                     String message = jsonResponse.getString("statusMessage");
                     if (isNotBlank(message)) {
-                        logger.debug("Sniro Managers response indicates failed: " + message);
+                        logger.debug("Sniro Managers response indicates failed: {}", message);
                     } else {
                         logger.debug("Sniro Managers response indicates failed: no status message provided");
-                        message = "error message not provided";
+                        message = MESSAGE_NOT_PROVIDED;
                     }
                     throw new BadResponseException("Sniro Managers synchronous response indicates failed: " + message);
                 }
@@ -67,7 +69,7 @@ public class SniroValidator {
             }
         } else {
             logger.debug("Sniro Managers synchronous response is empty");
-            throw new BadResponseException("Sniro Managers synchronous response i is empty");
+            throw new BadResponseException("Sniro Managers synchronous response is empty");
         }
     }
 
@@ -85,11 +87,11 @@ public class SniroValidator {
             } else {
                 String message = jsonResponse.getJSONObject("serviceException").getString("text");
                 if (isNotBlank(message)) {
-                    logger.debug("Sniro Managers response contains a service exception: " + message);
+                    logger.debug("Sniro Managers response contains a service exception: {}", message);
                 } else {
                     logger.debug(
                             "Sniro Managers response contains a service exception: no service exception text provided");
-                    message = "error message not provided";
+                    message = MESSAGE_NOT_PROVIDED;
                 }
                 throw new BadResponseException(
                         "Sniro Managers asynchronous response contains a service exception: " + message);
@@ -106,7 +108,7 @@ public class SniroValidator {
      *
      * @throws BadResponseException
      */
-    public void validateReleaseResponse(LinkedHashMap<String, Object> response) throws BadResponseException {
+    public void validateReleaseResponse(Map<String, Object> response) throws BadResponseException {
         logger.debug("Validating Sniro Conductors response");
         if (!response.isEmpty()) {
             String status = (String) response.get("status");
@@ -116,10 +118,10 @@ public class SniroValidator {
                 } else {
                     String message = (String) response.get("message");
                     if (isNotBlank(message)) {
-                        logger.debug("Sniro Conductors response indicates failed: " + message);
+                        logger.debug("Sniro Conductors response indicates failed: {}", message);
                     } else {
                         logger.debug("Sniro Conductors response indicates failed: error message not provided");
-                        message = "error message not provided";
+                        message = MESSAGE_NOT_PROVIDED;
                     }
                     throw new BadResponseException(
                             "Sniro Conductors synchronous response indicates failed: " + message);
diff --git a/so-optimization-clients/src/test/java/org/onap/so/client/sniro/SniroValidatorTest.java b/so-optimization-clients/src/test/java/org/onap/so/client/sniro/SniroValidatorTest.java
new file mode 100644 (file)
index 0000000..8288d70
--- /dev/null
@@ -0,0 +1,62 @@
+package org.onap.so.client.sniro;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import org.junit.Test;
+import org.onap.so.client.exception.BadResponseException;
+
+public class SniroValidatorTest {
+
+    @Test
+    public void validateDemandsResponse_success() throws BadResponseException {
+        Map<String, Object> testMap = new LinkedHashMap<>();
+        testMap.put("requestStatus", "accepted");
+        new SniroValidator().validateDemandsResponse(testMap);
+    }
+
+    @Test
+    public void validateDemandsResponse_emptyResponse() {
+        try {
+            new SniroValidator().validateDemandsResponse(new LinkedHashMap<>());
+        } catch (BadResponseException e) {
+            assertThat(e.getMessage()).contains("Sniro Managers synchronous response is empty");
+        }
+    }
+
+    @Test
+    public void validateDemandsResponse_responseWithErrorMessage() {
+        String message = "An error occurred";
+        Map<String, Object> testMap = new LinkedHashMap<>();
+        testMap.put("requestStatus", "not_accepted");
+        testMap.put("statusMessage", message);
+        try {
+            new SniroValidator().validateDemandsResponse(testMap);
+        } catch (BadResponseException e) {
+            assertThat(e.getMessage()).contains("Sniro Managers synchronous response indicates failed: " + message);
+        }
+    }
+
+    @Test
+    public void validateDemandsResponse_responseWithoutMessage() {
+        Map<String, Object> testMap = new LinkedHashMap<>();
+        testMap.put("requestStatus", "not_accepted");
+        testMap.put("statusMessage", "");
+        try {
+            new SniroValidator().validateDemandsResponse(testMap);
+        } catch (BadResponseException e) {
+            assertThat(e.getMessage()).contains("error message not provided");
+        }
+    }
+
+    @Test
+    public void validateDemandsResponse_responseWithoutRequestStatus() {
+        Map<String, Object> testMap = new LinkedHashMap<>();
+        testMap.put("statusMessage", "");
+        try {
+            new SniroValidator().validateDemandsResponse(testMap);
+        } catch (BadResponseException e) {
+            assertThat(e.getMessage()).contains("Sniro Managers synchronous response does not contain: request status");
+        }
+    }
+}