Reformat ONAP-PDP-REST test cases
[policy/engine.git] / ONAP-PDP-REST / src / test / java / org / onap / policy / pdp / rest / api / utils / test / PolicyApiUtilsTest.java
index a38603a..d1da554 100644 (file)
@@ -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"));
+    }
 }