Bugfix, GET policy types for OSC A1 Policy REST API 11/3711/1
authorPatrikBuhr <patrik.buhr@est.tech>
Fri, 15 May 2020 11:05:23 +0000 (13:05 +0200)
committerPatrikBuhr <patrik.buhr@est.tech>
Fri, 15 May 2020 11:07:22 +0000 (13:07 +0200)
The OSC A1 Policy REST API GET Policy types returns an array of integer,
but the agent expected an array of strings.
Now both cases will work.

Change-Id: Iac3d2e0ecbf1427644f50ac678ff2e6a69f12929
Issue-ID: NONRTRIC-195
Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
policy-agent/src/main/java/org/oransc/policyagent/clients/SdncJsonHelper.java
policy-agent/src/test/java/org/oransc/policyagent/clients/SdncOscA1ClientTest.java

index 4d3cbf8..ab0d3fa 100644 (file)
@@ -59,7 +59,8 @@ class SdncJsonHelper {
             if (!inputString.isEmpty()) {
                 JSONArray jsonArray = new JSONArray(inputString);
                 for (int i = 0; i < jsonArray.length(); i++) {
-                    arrayList.add(jsonArray.getString(i));
+                    Object value = jsonArray.get(i);
+                    arrayList.add(value.toString());
                 }
             }
             return Flux.fromIterable(arrayList);
index 2cdfe35..fecbccb 100644 (file)
@@ -143,6 +143,17 @@ public class SdncOscA1ClientTest {
             "title should be updated to contain policyType ID");
     }
 
+    @Test
+    void parseJsonArrayOfString() {
+        // One integer and one string
+        String inputString = "[1, \"1\" ]";
+
+        List<String> result = SdncJsonHelper.parseJsonArrayOfString(inputString).collectList().block();
+        assertEquals(2, result.size(), "");
+        assertEquals("1", result.get(0), "");
+        assertEquals("1", result.get(1), "");
+    }
+
     private String policiesUrl() {
         return RIC_1_URL + "/A1-P/v1/policies";
     }