X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-backend%2Fsrc%2Ftest%2Fjava%2Forg%2Foransc%2Fportal%2Fnonrtric%2Fcontrolpanel%2Fpolicyagentapi%2FPolicyAgentApiImplTest.java;h=1d84de49e5f39ba196db1c7ebafb31df60e84fac;hb=6b3b1b864dea5c5ed5154cf9a7210b672917feca;hp=dacb30389b5cf7d948b5162edb77bc86047b68f1;hpb=f507d92d55ee77fad16cc024ea95c869e0d5dc32;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/policyagentapi/PolicyAgentApiImplTest.java b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/policyagentapi/PolicyAgentApiImplTest.java index dacb303..1d84de4 100644 --- a/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/policyagentapi/PolicyAgentApiImplTest.java +++ b/webapp-backend/src/test/java/org/oransc/portal/nonrtric/controlpanel/policyagentapi/PolicyAgentApiImplTest.java @@ -24,299 +24,294 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonElement; -import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import com.google.gson.reflect.TypeToken; -import java.lang.reflect.Type; -import java.util.ArrayList; +import java.nio.charset.StandardCharsets; import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.Map; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.oransc.portal.nonrtric.controlpanel.model.PolicyInfo; +import org.oransc.portal.nonrtric.controlpanel.model.PolicyInstance; import org.oransc.portal.nonrtric.controlpanel.model.PolicyInstances; -import org.oransc.portal.nonrtric.controlpanel.model.PolicyType; -import org.oransc.portal.nonrtric.controlpanel.model.PolicyTypes; -import org.oransc.portal.nonrtric.controlpanel.policyagentapi.PolicyAgentApiImpl; -import org.oransc.portal.nonrtric.controlpanel.policyagentapi.PolicyAgentApiImpl.RicInfo; -import org.oransc.portal.nonrtric.controlpanel.model.ImmutablePolicyInfo; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; +import org.oransc.portal.nonrtric.controlpanel.util.AsyncRestClient; import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; -import org.springframework.web.client.RestClientException; -import org.springframework.web.client.RestTemplate; - -public class PolicyAgentApiImplTest { - private static final String URL_PREFIX = "UrlPrefix"; - private static final String URL_POLICY_SCHEMAS = "/policy_schemas"; - private static final String URL_POLICY_INSTANCES = "/policies?type={type}"; - private static final String URL_POLICY_INSTANCE = "/policy?instance={id}"; - private static final String URL_PUT_POLICY = "/policy?type={type}&instance={instance}&ric={ric}&service={service}"; - private static final String URL_DELETE_POLICY = "/policy?instance={instance}"; - private static final String URL_RIC_INFO = "/rics?policyType={typeName}"; +import org.springframework.web.client.HttpServerErrorException; +import reactor.core.publisher.Mono; + +class PolicyAgentApiImplTest { + private static final String URL_POLICY_SCHEMAS = "/a1-policy/v2/policy-types"; private static final String POLICY_TYPE_1_ID = "type1"; private static final String POLICY_TYPE_1_VALID = "{\"title\":\"type1\"}"; private static final String POLICY_TYPE_1_INVALID = "\"title\":\"type1\"}"; private static final String POLICY_TYPE_2_VALID = "{\"title\":\"type2\"}"; private static final String POLICY_1_ID = "policy1"; - private static final String POLICY_1_VALID = "{\"policyId\":\"policy1\"}"; - private static final String POLICY_1_INVALID = "\"policyId\":\"policy1\"}"; + private static final String POLICY_DATA = + "{\"qosObjectives\":{\"priorityLevel\":22.0},\"scope\":{\"qosId\":\"22\",\"ueId\":\"22\"}}"; + private static final String POLICY_1_VALID = + "{\"policy_id\":\"policy1\",\"policytype_id\":\"type1\",\"ric_id\":\"ric1\",\"policy_data\":" + POLICY_DATA + + ",\"service_id\":\"controlpanel\"}"; + private static final String POLICY_1_INVALID = "\"policy_id\":\"policy1\"}"; private static final String RIC_1_ID = "ric1"; - private static final String RIC_1_INFO_VALID = "{\"name\":\"ric1\",\"policyTypes\":[\"type1\"]}"; - private static final String RIC_1_INFO_INVALID = "{\"name\":\"ric1\",\"policyTypes\":\"type1\"]}"; - private static final String CLIENT_ERROR_MESSAGE = "Exception: Client returned failure"; - + private static final String RIC_1_INFO_VALID = "{\"ric_id\":\"ric1\",\"policytype_ids\":[\"type1\"]}"; + private static final String RIC_1_INFO_INVALID = "{\"ric_id\":\"ric1\",\"policytype_ids\":\"type1\"]}"; + private static final String CLIENT_ERROR_MESSAGE = "XXXXXXX"; + private static final String SERVICE_ID = "controlpanel"; + private static final String TIMESTAMP = "2021-01-12T09:59:33.392470Z"; + private static final String STATUS = + "{\"last_modified\": \"" + TIMESTAMP + "\",\"status\":{\"enforceStatus\": \"\",\"enforceReason\": \"\"}}"; private static com.google.gson.Gson gson = new GsonBuilder() // .serializeNulls() // .create(); // PolicyAgentApiImpl apiUnderTest; - RestTemplate restTemplateMock; + AsyncRestClient restClient; @BeforeEach - public void init() { - restTemplateMock = mock(RestTemplate.class); - apiUnderTest = new PolicyAgentApiImpl(URL_PREFIX, restTemplateMock); + void init() { + restClient = mock(AsyncRestClient.class); + apiUnderTest = new PolicyAgentApiImpl(restClient); } - @Test - public void testGetAllPolicyTypesFailure() { - ResponseEntity getAllPolicyTypesResp = new ResponseEntity<>(null, HttpStatus.NOT_FOUND); - when(restTemplateMock.getForEntity(eq(URL_PREFIX + URL_POLICY_SCHEMAS), eq(String.class))) - .thenReturn(getAllPolicyTypesResp); - - ResponseEntity returnedResp = apiUnderTest.getAllPolicyTypes(); + private void whenGetReturnOK(String url, HttpStatus status, String body) { + ResponseEntity ret = new ResponseEntity<>(body, status); + when(restClient.getForEntity(eq(url))).thenReturn(Mono.just(ret)); + } - verify(restTemplateMock).getForEntity(URL_PREFIX + URL_POLICY_SCHEMAS, String.class); - assertNull(returnedResp.getBody()); - assertEquals(HttpStatus.NOT_FOUND, returnedResp.getStatusCode()); + private void whenGetReturnFailure(String url, HttpStatus status, String body) { + HttpServerErrorException e = new HttpServerErrorException(status, body); + when(restClient.getForEntity(eq(url))).thenReturn(Mono.error(e)); } @Test - public void testGetAllPolicyTypesSuccessValidJson() { - String policyTypes = Arrays.asList(POLICY_TYPE_1_VALID, POLICY_TYPE_2_VALID).toString(); - String policyTypesJson = parsePolicyTypesJson(policyTypes); - ResponseEntity getAllPolicyTypesResp = new ResponseEntity<>(policyTypes, HttpStatus.OK); - when(restTemplateMock.getForEntity(eq(URL_PREFIX + URL_POLICY_SCHEMAS), eq(String.class))) - .thenReturn(getAllPolicyTypesResp); - + void testGetAllPolicyTypesFailure() { + whenGetReturnFailure(URL_POLICY_SCHEMAS, HttpStatus.NOT_FOUND, ""); ResponseEntity returnedResp = apiUnderTest.getAllPolicyTypes(); + assertEquals(HttpStatus.NOT_FOUND, returnedResp.getStatusCode()); + } - verify(restTemplateMock).getForEntity(URL_PREFIX + URL_POLICY_SCHEMAS, String.class); - assertEquals(returnedResp.getBody(), policyTypesJson); - assertEquals(HttpStatus.OK, returnedResp.getStatusCode()); + @Test + void testGetAllPolicyTypesSuccessValidJson() { + String returnValue = "{\"policytype_ids\": [\"type1\",\"type2\"]}"; + whenGetReturnOK(URL_POLICY_SCHEMAS, HttpStatus.OK, returnValue); + whenGetReturnOK(URL_POLICY_SCHEMAS + "/type1", HttpStatus.OK, "{\"policy_schema\":{}}"); + whenGetReturnOK(URL_POLICY_SCHEMAS + "/type2", HttpStatus.OK, "{\"policy_schema\":{}}"); + + ResponseEntity resp = apiUnderTest.getAllPolicyTypes(); + assertTrue(resp.getBody().contains("\"name\":\"type1\"")); + assertEquals(HttpStatus.OK, resp.getStatusCode()); } @Test - public void testGetAllPolicyTypesSuccessInvalidJson() { + void testGetAllPolicyTypesSuccessInvalidJson() { String policyTypes = Arrays.asList(POLICY_TYPE_1_INVALID, POLICY_TYPE_2_VALID).toString(); - ResponseEntity getAllPolicyTypesResp = new ResponseEntity<>(policyTypes, HttpStatus.OK); - when(restTemplateMock.getForEntity(eq(URL_PREFIX + URL_POLICY_SCHEMAS), eq(String.class))) - .thenReturn(getAllPolicyTypesResp); + whenGetReturnOK(URL_POLICY_SCHEMAS, HttpStatus.OK, policyTypes); ResponseEntity returnedResp = apiUnderTest.getAllPolicyTypes(); - verify(restTemplateMock).getForEntity(URL_PREFIX + URL_POLICY_SCHEMAS, String.class); assertTrue(returnedResp.getBody().contains("Exception")); assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, returnedResp.getStatusCode()); } + private String urlPolicyInstances(String type) { + return "/a1-policy/v2/policies?policytype_id=" + type; + } + @Test - public void testGetPolicyInstancesForTypeFailure() { - ResponseEntity getPolicyInstancesForTypeResp = new ResponseEntity<>(null, HttpStatus.NOT_FOUND); - Map uriVariables = Map.of("type", POLICY_TYPE_1_ID); - when(restTemplateMock.getForEntity(eq(URL_PREFIX + URL_POLICY_INSTANCES), eq(String.class), eq(uriVariables))) - .thenReturn(getPolicyInstancesForTypeResp); + void testGetPolicyInstancesForTypeFailure() { + whenGetReturnFailure(urlPolicyInstances(POLICY_TYPE_1_ID), HttpStatus.NOT_FOUND, ""); ResponseEntity returnedResp = apiUnderTest.getPolicyInstancesForType(POLICY_TYPE_1_ID); - verify(restTemplateMock).getForEntity(URL_PREFIX + URL_POLICY_INSTANCES, String.class, uriVariables); - assertNull(returnedResp.getBody()); assertEquals(HttpStatus.NOT_FOUND, returnedResp.getStatusCode()); } @Test - public void testGetPolicyInstancesForTypeSuccessValidJson() { - String policyInstances = Arrays.asList(POLICY_1_VALID).toString(); - String policyInstancesJson = parsePolicyInstancesJson(policyInstances); - ResponseEntity getPolicyInstancesForTypeResp = new ResponseEntity<>(policyInstances, HttpStatus.OK); - Map uriVariables = Map.of("type", POLICY_TYPE_1_ID); - when(restTemplateMock.getForEntity(eq(URL_PREFIX + URL_POLICY_INSTANCES), eq(String.class), eq(uriVariables))) - .thenReturn(getPolicyInstancesForTypeResp); + void testGetPolicyInstancesForTypeSuccessValidJson() { + String policyInstances = "{\"policy_ids\":[\"policy1\"]}"; + String policyInstancesJson = parsePolicyInstancesJson("[\"policy1\"]"); - ResponseEntity returnedResp = apiUnderTest.getPolicyInstancesForType(POLICY_TYPE_1_ID); + whenGetReturnOK(urlPolicyInstances(POLICY_TYPE_1_ID), HttpStatus.OK, policyInstances); + whenGetReturnOK(urlPolicyInstance(POLICY_1_ID), HttpStatus.OK, POLICY_1_VALID); + whenGetReturnOK(urlPolicyStatus(POLICY_1_ID), HttpStatus.OK, STATUS); - verify(restTemplateMock).getForEntity(URL_PREFIX + URL_POLICY_INSTANCES, String.class, uriVariables); + ResponseEntity returnedResp = apiUnderTest.getPolicyInstancesForType(POLICY_TYPE_1_ID); assertEquals(returnedResp.getBody(), policyInstancesJson); assertEquals(HttpStatus.OK, returnedResp.getStatusCode()); } @Test - public void testGetPolicyInstancesForTypeSuccessInvalidJson() { + void testGetPolicyInstancesForTypeSuccessInvalidJson() { String policyInstances = Arrays.asList(POLICY_1_INVALID).toString(); - ResponseEntity getPolicyInstancesForTypeResp = new ResponseEntity<>(policyInstances, HttpStatus.OK); - Map uriVariables = Map.of("type", POLICY_TYPE_1_ID); - when(restTemplateMock.getForEntity(eq(URL_PREFIX + URL_POLICY_INSTANCES), eq(String.class), eq(uriVariables))) - .thenReturn(getPolicyInstancesForTypeResp); + + whenGetReturnOK(urlPolicyInstances(POLICY_TYPE_1_ID), HttpStatus.OK, policyInstances); ResponseEntity returnedResp = apiUnderTest.getPolicyInstancesForType(POLICY_TYPE_1_ID); - verify(restTemplateMock).getForEntity(URL_PREFIX + URL_POLICY_INSTANCES, String.class, uriVariables); assertTrue(returnedResp.getBody().contains("Exception")); assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, returnedResp.getStatusCode()); } + private String urlPolicyInstance(String id) { + return "/a1-policy/v2/policies/" + id; + } + + private String urlPolicyStatus(String id) { + return "/a1-policy/v2/policies/" + id + "/status"; + } + @Test - public void testGetPolicyInstance() { - ResponseEntity getPolicyInstanceResp = new ResponseEntity<>(POLICY_1_VALID, HttpStatus.OK); - Map uriVariables = Map.of("id", POLICY_1_ID); - when(restTemplateMock.getForEntity(eq(URL_PREFIX + URL_POLICY_INSTANCE), eq(Object.class), eq(uriVariables))) - .thenReturn(getPolicyInstanceResp); + void testGetPolicyInstance() { + whenGetReturnOK(urlPolicyInstance(POLICY_1_ID), HttpStatus.OK, POLICY_1_VALID); + whenGetReturnOK(urlPolicyStatus(POLICY_1_ID), HttpStatus.OK, STATUS); ResponseEntity returnedResp = apiUnderTest.getPolicyInstance(POLICY_1_ID); - verify(restTemplateMock).getForEntity(URL_PREFIX + URL_POLICY_INSTANCE, Object.class, uriVariables); - assertEquals(POLICY_1_VALID, returnedResp.getBody()); assertEquals(HttpStatus.OK, returnedResp.getStatusCode()); + assertEquals(POLICY_DATA, gson.toJson(returnedResp.getBody())); + } + + private String urlPutPolicy() { + return "/a1-policy/v2/policies/"; + } + + private void whenPutReturnOK(String url, String putBody, HttpStatus status, String body) { + ResponseEntity ret = new ResponseEntity<>(body, status); + when(restClient.putForEntity(eq(url), eq(putBody))).thenReturn(Mono.just(ret)); + } + + private void whenPutReturnFailure(String url, String putBody, HttpStatus status, String body) { + HttpServerErrorException e = + new HttpServerErrorException(status, body, body.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8); + when(restClient.putForEntity(eq(url), eq(putBody))).thenReturn(Mono.error(e)); } @Test - public void testPutPolicyFailure() { - HttpEntity jsonHttpEntity = createJsonHttpEntity(POLICY_1_VALID); - Map uriVariables = Map.of( // - "type", POLICY_TYPE_1_ID, // - "instance", POLICY_1_ID, // - "ric", RIC_1_ID, // - "service", "controlpanel"); - doThrow(new RestClientException(CLIENT_ERROR_MESSAGE)).when(restTemplateMock) - .put(eq(URL_PREFIX + URL_PUT_POLICY), eq(jsonHttpEntity), eq(uriVariables)); + void testPutPolicyFailure() { + String url = urlPutPolicy(); + JsonElement data = JsonParser.parseString(POLICY_DATA).getAsJsonObject(); + PolicyInstance i = PolicyInstance.builder() // + .policyId(POLICY_1_ID) // + .policyTypeId(POLICY_TYPE_1_ID) // + .ricId(RIC_1_ID) // + .policyData(data) // + .serviceId(SERVICE_ID) // + .build(); // + + String jsonStr = gson.toJson(i); + whenPutReturnFailure(url, jsonStr, HttpStatus.NOT_FOUND, CLIENT_ERROR_MESSAGE); ResponseEntity returnedResp = - apiUnderTest.putPolicy(POLICY_TYPE_1_ID, POLICY_1_ID, POLICY_1_VALID, RIC_1_ID); + apiUnderTest.putPolicy(POLICY_TYPE_1_ID, POLICY_1_ID, POLICY_DATA, RIC_1_ID); - verify(restTemplateMock).put(URL_PREFIX + URL_PUT_POLICY, jsonHttpEntity, uriVariables); - assertTrue(returnedResp.getBody().contains("Exception")); - assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, returnedResp.getStatusCode()); + assertTrue(returnedResp.getBody().contains(CLIENT_ERROR_MESSAGE)); + assertEquals(HttpStatus.NOT_FOUND, returnedResp.getStatusCode()); } @Test - public void testPutPolicySuccess() { - HttpEntity jsonHttpEntity = createJsonHttpEntity(POLICY_1_VALID); - Map uriVariables = Map.of( // - "type", POLICY_TYPE_1_ID, // - "instance", POLICY_1_ID, // - "ric", RIC_1_ID, // - "service", "controlpanel"); + void testPutPolicySuccess() { + String url = urlPutPolicy(); + JsonElement data = JsonParser.parseString(POLICY_DATA).getAsJsonObject(); + PolicyInstance i = PolicyInstance.builder() // + .policyId(POLICY_1_ID) // + .policyTypeId(POLICY_TYPE_1_ID) // + .ricId(RIC_1_ID) // + .policyData(data) // + .serviceId(SERVICE_ID) // + .build(); // + String jsonStr = gson.toJson(i); + whenPutReturnOK(url, jsonStr, HttpStatus.OK, POLICY_1_VALID); ResponseEntity returnedResp = - apiUnderTest.putPolicy(POLICY_TYPE_1_ID, POLICY_1_ID, POLICY_1_VALID, RIC_1_ID); - - verify(restTemplateMock).put(URL_PREFIX + URL_PUT_POLICY, jsonHttpEntity, uriVariables); + apiUnderTest.putPolicy(POLICY_TYPE_1_ID, POLICY_1_ID, POLICY_DATA, RIC_1_ID); assertNull(returnedResp.getBody()); assertEquals(HttpStatus.OK, returnedResp.getStatusCode()); } + private void whenDeleteReturnOK(String url, HttpStatus status) { + ResponseEntity ret = new ResponseEntity<>(status); + when(restClient.deleteForEntity(eq(url))).thenReturn(Mono.just(ret)); + } + + private void whenDeleteReturnFailure(String url, HttpStatus status, String body) { + HttpServerErrorException e = + new HttpServerErrorException(status, body, body.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8); + when(restClient.deleteForEntity(eq(url))).thenReturn(Mono.error(e)); + } + + private String deletePolicyUrl(String id) { + return "/a1-policy/v2/policies/" + id; + } + @Test - public void testDeletePolicyFailure() { - Map uriVariables = Map.of("instance", POLICY_1_ID); - doThrow(new RestClientException(CLIENT_ERROR_MESSAGE)).when(restTemplateMock) - .delete(eq(URL_PREFIX + URL_DELETE_POLICY), eq(uriVariables)); + void testDeletePolicyFailure() { + whenDeleteReturnFailure(deletePolicyUrl(POLICY_1_ID), HttpStatus.NOT_FOUND, CLIENT_ERROR_MESSAGE); ResponseEntity returnedResp = apiUnderTest.deletePolicy(POLICY_1_ID); - verify(restTemplateMock).delete(URL_PREFIX + URL_DELETE_POLICY, uriVariables); - assertTrue(returnedResp.getBody().contains("Exception")); + assertTrue(returnedResp.getBody().contains(CLIENT_ERROR_MESSAGE)); assertEquals(HttpStatus.NOT_FOUND, returnedResp.getStatusCode()); } @Test - public void testDeletePolicySuccess() { - Map uriVariables = Map.of("instance", POLICY_1_ID); - + void testDeletePolicySuccess() { + whenDeleteReturnOK(deletePolicyUrl(POLICY_1_ID), HttpStatus.OK); ResponseEntity returnedResp = apiUnderTest.deletePolicy(POLICY_1_ID); - verify(restTemplateMock).delete(URL_PREFIX + URL_DELETE_POLICY, uriVariables); - assertNull(returnedResp.getBody()); assertEquals(HttpStatus.OK, returnedResp.getStatusCode()); } + private String urlRicInfo(String typeName) { + return "/a1-policy/v2/rics?policytype_id=" + typeName; + } + @Test - public void testGetRicsSupportingTypeValidJson() { + void testGetRicsSupportingTypeValidJson() { String rics = Arrays.asList(RIC_1_INFO_VALID).toString(); - String ricsJson = parseRicsJson(rics); - Map uriVariables = Map.of("typeName", POLICY_TYPE_1_ID); - when(restTemplateMock.getForObject(eq(URL_PREFIX + URL_RIC_INFO), eq(String.class), eq(uriVariables))) - .thenReturn(rics); + String returnVal = "{\"rics\":" + rics + "}"; + this.whenGetReturnOK(urlRicInfo(POLICY_TYPE_1_ID), HttpStatus.OK, returnVal); - ResponseEntity returnedResp = apiUnderTest.getRicsSupportingType(POLICY_TYPE_1_ID); + ResponseEntity resp = apiUnderTest.getRicsSupportingType(POLICY_TYPE_1_ID); - verify(restTemplateMock).getForObject(URL_PREFIX + URL_RIC_INFO, String.class, uriVariables); - assertEquals(returnedResp.getBody(), ricsJson); - assertEquals(HttpStatus.OK, returnedResp.getStatusCode()); + assertEquals(HttpStatus.OK, resp.getStatusCode()); + assertEquals("[\"ric1\"]", resp.getBody()); } @Test - public void testGetRicsSupportingTypeInvalidJson() { + void testGetRicsSupportingTypeInvalidJson() { String rics = Arrays.asList(RIC_1_INFO_INVALID).toString(); - Map uriVariables = Map.of("typeName", POLICY_TYPE_1_ID); - when(restTemplateMock.getForObject(eq(URL_PREFIX + URL_RIC_INFO), eq(String.class), eq(uriVariables))) - .thenReturn(rics); + + this.whenGetReturnOK(urlRicInfo(POLICY_TYPE_1_ID), HttpStatus.OK, rics); ResponseEntity returnedResp = apiUnderTest.getRicsSupportingType(POLICY_TYPE_1_ID); - verify(restTemplateMock).getForObject(URL_PREFIX + URL_RIC_INFO, String.class, uriVariables); assertTrue(returnedResp.getBody().contains("Exception")); assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, returnedResp.getStatusCode()); } - private String parsePolicyTypesJson(String inputString) { - PolicyTypes policyTypes = new PolicyTypes(); - JsonArray schemas = JsonParser.parseString(inputString).getAsJsonArray(); - for (JsonElement schema : schemas) { - JsonObject schemaObj = schema.getAsJsonObject(); - policyTypes.add(new PolicyType(schemaObj.get("title").getAsString(), schemaObj.toString())); - } - return gson.toJson(policyTypes); - } - private String parsePolicyInstancesJson(String inputString) { - Type listType = new TypeToken>() {}.getType(); - List rspParsed = gson.fromJson(inputString, listType); - PolicyInstances policyInstances = new PolicyInstances(); - for (PolicyInfo policy : rspParsed) { - policyInstances.add(policy); - } - return gson.toJson(policyInstances); - } - - private String parseRicsJson(String inputString) { - Type listType = new TypeToken>() {}.getType(); - List rspParsed = gson.fromJson(inputString, listType); - Collection rics = new ArrayList<>(rspParsed.size()); - for (RicInfo ric : rspParsed) { - rics.add(ric.ricName()); + JsonArray arr = JsonParser.parseString(inputString).getAsJsonArray(); + PolicyInstances res = new PolicyInstances(); + JsonElement data = JsonParser.parseString(POLICY_DATA).getAsJsonObject(); + for (JsonElement id : arr) { + PolicyInfo i = PolicyInfo.builder() // + .policyId(id.getAsString()) // + .policyTypeId(POLICY_TYPE_1_ID) // + .ricId(RIC_1_ID) // + .policyData(data) // + .serviceId(SERVICE_ID) // + .lastModified(TIMESTAMP) // + .build(); // + res.add(i); } - return gson.toJson(rics); - } - - private HttpEntity createJsonHttpEntity(Object content) { - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.APPLICATION_JSON); - return new HttpEntity<>(content, headers); + return gson.toJson(res); } }