aboutsummaryrefslogtreecommitdiffstats
path: root/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/utils/test/PolicyApiUtilsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/utils/test/PolicyApiUtilsTest.java')
-rw-r--r--ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/utils/test/PolicyApiUtilsTest.java429
1 files changed, 194 insertions, 235 deletions
diff --git a/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/utils/test/PolicyApiUtilsTest.java b/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/utils/test/PolicyApiUtilsTest.java
index a38603a33..d1da554d9 100644
--- a/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/utils/test/PolicyApiUtilsTest.java
+++ b/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/utils/test/PolicyApiUtilsTest.java
@@ -4,12 +4,14 @@
* ================================================================================
* Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
+ * Modifications Copyright (C) 2019 Samsung
+ * ================================================================================
* 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.
@@ -23,246 +25,203 @@ package org.onap.policy.pdp.rest.api.utils.test;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonObject;
-
import org.json.JSONObject;
import org.junit.Test;
import org.onap.policy.pdp.rest.api.utils.PolicyApiUtils;
public class PolicyApiUtilsTest {
- @Test
- public void testValidateDirectoryJsonFields() {
-
- String dictonaryAction = "Action";
-
-
- JsonObject jsonObjAttrGood = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
-
- JsonObject jsonObjAttrNull = Json.createObjectBuilder().add("attributeName", "").build();
- JsonObject jsonObjAttrBad = Json.createObjectBuilder().add("attributeName", "succ ess").build();
- JsonObject jsonObjectMissingAttrName = Json.createObjectBuilder().add("foo", "bar").build();
-
-
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGood, dictonaryAction).contains("success"));
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrNull, dictonaryAction).contains("No Attribute Name provided"));
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrBad, dictonaryAction).contains("Invalid Attribute Name"));
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjectMissingAttrName, dictonaryAction).contains("Missing attributeName"));
-
- /* "type" parameter variations. */
- JsonObject jsonObjAttrGoodTemp = jsonObjAttrGood;
-
- //null/empty type
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("No Type provided"));
-
- //missing type
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
-
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("Missing type key in the dictionaryJson parameter"));
-
- //invalid type
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "INVALID")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
-
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("Invalid Type value"));
-
- /* "method" parameter variations. */
- jsonObjAttrGoodTemp = jsonObjAttrGood;
-
- //null/empty method
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("No Method provided"));
-
- //missing method
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("Missing method key in the dictionaryJson parameter"));
-
- //valid method
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("success"));
-
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "PUT")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("success"));
-
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "POST")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("success"));
-
-
- //invalid method
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "INVALID")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("Invalid Method value"));
-
-
- /* url parameter variations */
- jsonObjAttrGoodTemp = jsonObjAttrGood;
-
- //null/empty url
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "GET")
- .add("url", "")
- .add("body", "foobody")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("No URL provided"));
-
- //missing url
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "GET")
- .add("body", "foobody")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("Missing url key in the dictionaryJson parameter"));
-
- /* body parameter variations */
- jsonObjAttrGoodTemp = jsonObjAttrGood;
-
- //null body
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .add("body", "")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("No Body provided"));
-
- //missing body
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .build();
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("Missing body key in the dictionaryJson parameter"));
-
-
- /*headers parameter variations*/
- JsonObject jsonObjOption;
- JsonObject jsonObjNumber;
- JsonArray jsonArrayHeaders;
-
- //missing number headers
- jsonObjOption = Json.createObjectBuilder().add("option","foobar").build();
- //jsonObjNumber = Json.createObjectBuilder().add("number","foobar").build();
-
- jsonArrayHeaders = Json.createArrayBuilder()
- .add(jsonObjOption)
- //.add(jsonObjNumber)
- .build();
-
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .add("headers", jsonArrayHeaders)
- .build();
-
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("Missing number key in the headers list of the dictionaryJson parameter."));
-
- //missing options headers
- jsonObjOption = Json.createObjectBuilder().add("option","foobar").build();
- jsonObjNumber = Json.createObjectBuilder().add("number","foobar").build();
-
- jsonArrayHeaders = Json.createArrayBuilder()
- //.add(jsonObjOption)
- .add(jsonObjNumber)
- .build();
-
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .add("headers", jsonArrayHeaders)
- .build();
-
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("Missing option key in the headers list of the dictionaryJson parameter."));
-
- //null option
- jsonObjOption = Json.createObjectBuilder().add("option","").build();
- jsonObjNumber = Json.createObjectBuilder().add("number","foobar").build();
-
- jsonArrayHeaders = Json.createArrayBuilder()
- .add(jsonObjOption)
- .add(jsonObjNumber)
- .build();
-
- jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
- .add("type", "REST")
- .add("method", "GET")
- .add("url", "http://foobar.com")
- .add("body", "foobody")
- .add("headers", jsonArrayHeaders)
- .build();
-
- assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction).contains("Missing required Option value"));
-
- //null number can't be tested
-
- }
-
- @Test
- public void testStringToJsonObject() {
- String jsonString = "{\"foo\":\"bar\"}";
- JsonObject obj = PolicyApiUtils.stringToJsonObject(jsonString);
- assertTrue(obj.get("foo").toString().equals("\"bar\""));
- }
-
- @Test
- public void testIsNumeric() {
- assertFalse(PolicyApiUtils.isNumeric("notNumeric"));
- assertTrue(PolicyApiUtils.isNumeric("2"));
- }
-
-
+ @Test
+ public void testValidateDirectoryJsonFields() {
+
+ String dictonaryAction = "Action";
+
+ JsonObject jsonObjAttrGood = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "GET").add("url", "http://foobar.com")
+ .add("body", "foobody").build();
+
+ JsonObject jsonObjAttrNull = Json.createObjectBuilder().add("attributeName", "").build();
+ JsonObject jsonObjAttrBad =
+ Json.createObjectBuilder().add("attributeName", "succ ess").build();
+ JsonObject jsonObjectMissingAttrName = Json.createObjectBuilder().add("foo", "bar").build();
+
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGood, dictonaryAction)
+ .contains("success"));
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrNull, dictonaryAction)
+ .contains("No Attribute Name provided"));
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrBad, dictonaryAction)
+ .contains("Invalid Attribute Name"));
+ assertTrue(PolicyApiUtils
+ .validateDictionaryJsonFields(jsonObjectMissingAttrName, dictonaryAction)
+ .contains("Missing attributeName"));
+
+ /* "type" parameter variations. */
+ JsonObject jsonObjAttrGoodTemp = jsonObjAttrGood;
+
+ // null/empty type
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "").add("method", "GET").add("url", "http://foobar.com")
+ .add("body", "foobody").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("No Type provided"));
+
+ // missing type
+ jsonObjAttrGoodTemp =
+ Json.createObjectBuilder().add("attributeName", "success").add("method", "GET")
+ .add("url", "http://foobar.com").add("body", "foobody").build();
+
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("Missing type key in the dictionaryJson parameter"));
+
+ // invalid type
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "INVALID").add("method", "GET").add("url", "http://foobar.com")
+ .add("body", "foobody").build();
+
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("Invalid Type value"));
+
+ /* "method" parameter variations. */
+ jsonObjAttrGoodTemp = jsonObjAttrGood;
+
+ // null/empty method
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "").add("url", "http://foobar.com")
+ .add("body", "foobody").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("No Method provided"));
+
+ // missing method
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("url", "http://foobar.com").add("body", "foobody").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("Missing method key in the dictionaryJson parameter"));
+
+ // valid method
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "GET").add("url", "http://foobar.com")
+ .add("body", "foobody").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("success"));
+
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "PUT").add("url", "http://foobar.com")
+ .add("body", "foobody").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("success"));
+
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "POST").add("url", "http://foobar.com")
+ .add("body", "foobody").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("success"));
+
+
+ // invalid method
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "INVALID").add("url", "http://foobar.com")
+ .add("body", "foobody").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("Invalid Method value"));
+
+ /* url parameter variations */
+ jsonObjAttrGoodTemp = jsonObjAttrGood;
+
+ // null/empty url
+ jsonObjAttrGoodTemp =
+ Json.createObjectBuilder().add("attributeName", "success").add("type", "REST")
+ .add("method", "GET").add("url", "").add("body", "foobody").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("No URL provided"));
+
+ // missing url
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "GET").add("body", "foobody").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("Missing url key in the dictionaryJson parameter"));
+
+ /* body parameter variations */
+ jsonObjAttrGoodTemp = jsonObjAttrGood;
+
+ // null body
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "GET").add("url", "http://foobar.com")
+ .add("body", "").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("No Body provided"));
+
+ // missing body
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "GET").add("url", "http://foobar.com").build();
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("Missing body key in the dictionaryJson parameter"));
+
+ /* headers parameter variations */
+ JsonObject jsonObjOption;
+ JsonObject jsonObjNumber;
+ JsonArray jsonArrayHeaders;
+
+ // missing number headers
+ jsonObjOption = Json.createObjectBuilder().add("option", "foobar").build();
+ // jsonObjNumber = Json.createObjectBuilder().add("number","foobar").build();
+
+ jsonArrayHeaders = Json.createArrayBuilder().add(jsonObjOption)
+ // .add(jsonObjNumber)
+ .build();
+
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "GET").add("url", "http://foobar.com")
+ .add("body", "foobody").add("headers", jsonArrayHeaders).build();
+
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains(
+ "Missing number key in the headers list of the dictionaryJson parameter."));
+
+ // missing options headers
+ jsonObjOption = Json.createObjectBuilder().add("option", "foobar").build();
+ jsonObjNumber = Json.createObjectBuilder().add("number", "foobar").build();
+
+ jsonArrayHeaders = Json.createArrayBuilder()
+ // .add(jsonObjOption)
+ .add(jsonObjNumber).build();
+
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "GET").add("url", "http://foobar.com")
+ .add("body", "foobody").add("headers", jsonArrayHeaders).build();
+
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains(
+ "Missing option key in the headers list of the dictionaryJson parameter."));
+
+ // null option
+ jsonObjOption = Json.createObjectBuilder().add("option", "").build();
+ jsonObjNumber = Json.createObjectBuilder().add("number", "foobar").build();
+
+ jsonArrayHeaders = Json.createArrayBuilder().add(jsonObjOption).add(jsonObjNumber).build();
+
+ jsonObjAttrGoodTemp = Json.createObjectBuilder().add("attributeName", "success")
+ .add("type", "REST").add("method", "GET").add("url", "http://foobar.com")
+ .add("body", "foobody").add("headers", jsonArrayHeaders).build();
+
+ assertTrue(PolicyApiUtils.validateDictionaryJsonFields(jsonObjAttrGoodTemp, dictonaryAction)
+ .contains("Missing required Option value"));
+
+ // null number can't be tested
+ }
+
+ @Test
+ public void testStringToJsonObject() {
+ String jsonString = "{\"foo\":\"bar\"}";
+ JsonObject obj = PolicyApiUtils.stringToJsonObject(jsonString);
+ assertTrue(obj.get("foo").toString().equals("\"bar\""));
+ }
+
+ @Test
+ public void testIsNumeric() {
+ assertFalse(PolicyApiUtils.isNumeric("notNumeric"));
+ assertTrue(PolicyApiUtils.isNumeric("2"));
+ }
}