diff options
-rw-r--r-- | so-optimization-clients/src/main/java/org/onap/so/client/oof/OofValidator.java | 14 | ||||
-rw-r--r-- | so-optimization-clients/src/test/java/org/onap/so/client/oof/OofValidatorTest.java | 58 |
2 files changed, 65 insertions, 7 deletions
diff --git a/so-optimization-clients/src/main/java/org/onap/so/client/oof/OofValidator.java b/so-optimization-clients/src/main/java/org/onap/so/client/oof/OofValidator.java index 2c22d9d09e..c6d8e86d4d 100644 --- a/so-optimization-clients/src/main/java/org/onap/so/client/oof/OofValidator.java +++ b/so-optimization-clients/src/main/java/org/onap/so/client/oof/OofValidator.java @@ -21,12 +21,12 @@ 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 index 0000000000..5f9be78491 --- /dev/null +++ b/so-optimization-clients/src/test/java/org/onap/so/client/oof/OofValidatorTest.java @@ -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); + } +} |