From: PatrikBuhr Date: Fri, 15 May 2020 11:05:23 +0000 (+0200) Subject: Bugfix, GET policy types for OSC A1 Policy REST API X-Git-Tag: 2.0.0~41 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;ds=inline;h=27f7a7f03c9b3a91c5d5bda273d4bd1017ddf892;hp=8319eeb737417730a41234f8acc73530fcfb9e71;p=nonrtric.git Bugfix, GET policy types for OSC A1 Policy REST API 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 --- diff --git a/policy-agent/src/main/java/org/oransc/policyagent/clients/SdncJsonHelper.java b/policy-agent/src/main/java/org/oransc/policyagent/clients/SdncJsonHelper.java index 4d3cbf88..ab0d3fa8 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/clients/SdncJsonHelper.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/clients/SdncJsonHelper.java @@ -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); diff --git a/policy-agent/src/test/java/org/oransc/policyagent/clients/SdncOscA1ClientTest.java b/policy-agent/src/test/java/org/oransc/policyagent/clients/SdncOscA1ClientTest.java index 2cdfe352..fecbccb2 100644 --- a/policy-agent/src/test/java/org/oransc/policyagent/clients/SdncOscA1ClientTest.java +++ b/policy-agent/src/test/java/org/oransc/policyagent/clients/SdncOscA1ClientTest.java @@ -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 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"; }