From 27f7a7f03c9b3a91c5d5bda273d4bd1017ddf892 Mon Sep 17 00:00:00 2001 From: PatrikBuhr Date: Fri, 15 May 2020 13:05:23 +0200 Subject: [PATCH] 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 --- .../java/org/oransc/policyagent/clients/SdncJsonHelper.java | 3 ++- .../org/oransc/policyagent/clients/SdncOscA1ClientTest.java | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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"; } -- 2.16.6