add junit coverage 21/124421/1
authorLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Wed, 22 Sep 2021 12:51:43 +0000 (14:51 +0200)
committerLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Wed, 22 Sep 2021 12:51:43 +0000 (14:51 +0200)
Issue-ID: SO-3715
Signed-off-by: Lukasz Muszkieta <lukasz.muszkieta@nokia.com>
Change-Id: I863b0c48fb64245917f21212ba60f706dcdc2610

so-optimization-clients/src/main/java/org/onap/so/client/oof/OofValidator.java
so-optimization-clients/src/test/java/org/onap/so/client/oof/OofValidatorTest.java [new file with mode: 0644]

index 2c22d9d..c6d8e86 100644 (file)
 package org.onap.so.client.oof;
 
 
+import java.util.Map;
 import org.json.JSONObject;
 import org.onap.so.client.exception.BadResponseException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
-import java.util.LinkedHashMap;
 import static org.apache.commons.lang3.StringUtils.isNotBlank;
 
 
@@ -38,9 +38,9 @@ public class OofValidator {
     /**
      * Validates the synchronous homing response from oof
      *
-     * @throws BadResponseException
+     * @throws BadResponseException when validation failed
      */
-    public void validateDemandsResponse(LinkedHashMap<?, ?> response) throws BadResponseException {
+    public void validateDemandsResponse(Map<?, ?> response) throws BadResponseException {
         logger.debug("Validating oofs synchronous response");
         if (!response.isEmpty()) {
             JSONObject jsonResponse = new JSONObject(response);
@@ -51,12 +51,12 @@ public class OofValidator {
                 } else {
                     String message = jsonResponse.getString("statusMessage");
                     if (isNotBlank(message)) {
-                        logger.debug("oofs response indicates failed: " + message);
+                        logger.debug("oofs response indicates failed: {}", message);
                     } else {
                         logger.debug("oofs response indicates failed: no status message provided");
                         message = "error message not provided";
                     }
-                    throw new BadResponseException("oofs synchronous response indicates failed: " + message);
+                    throw new BadResponseException("oofs synchronous response indicates failed: {}", message);
                 }
             } else {
                 logger.debug("oofs synchronous response does not contain: request status");
@@ -71,7 +71,7 @@ public class OofValidator {
     /**
      * Validates the asynchronous/callback response from oof which contains the homing and licensing solutions
      *
-     * @throws BadResponseException
+     * @throws BadResponseException when validation failed
      */
     public void validateSolution(String response) throws BadResponseException {
         logger.debug("Validating oofs asynchronous callback response");
@@ -82,7 +82,7 @@ public class OofValidator {
             } else {
                 String message = jsonResponse.getJSONObject("serviceException").getString("text");
                 if (isNotBlank(message)) {
-                    logger.debug("oofs response contains a service exception: " + message);
+                    logger.debug("oofs response contains a service exception: {}", message);
                 } else {
                     logger.debug("oofs response contains a service exception: no service exception text provided");
                     message = "error message not provided";
diff --git a/so-optimization-clients/src/test/java/org/onap/so/client/oof/OofValidatorTest.java b/so-optimization-clients/src/test/java/org/onap/so/client/oof/OofValidatorTest.java
new file mode 100644 (file)
index 0000000..5f9be78
--- /dev/null
@@ -0,0 +1,58 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2021 Nokia
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.client.oof;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import org.junit.Test;
+import org.onap.so.client.exception.BadResponseException;
+
+public class OofValidatorTest {
+
+    @Test
+    public void validateDemandsResponse_success() throws Exception {
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("requestStatus", "accepted");
+        new OofValidator().validateDemandsResponse(map);
+    }
+
+    @Test(expected = BadResponseException.class)
+    public void validateDemandsResponse_mapIsEmpty() throws Exception {
+        new OofValidator().validateDemandsResponse(Collections.emptyMap());
+    }
+
+    @Test(expected = BadResponseException.class)
+    public void validateDemandsResponse_lackOfRequestStatus() throws Exception {
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put("a", "a");
+        new OofValidator().validateDemandsResponse(map);
+    }
+
+    @Test(expected = BadResponseException.class)
+    public void validateDemandsResponse_lackOfRequestStatusProperValue() throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("requestStatus", "a");
+        map.put("statusMessage", "a");
+        new OofValidator().validateDemandsResponse(map);
+    }
+}