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.contains;
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 = "/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 com.google.gson.Gson gson = new GsonBuilder() //
.serializeNulls() //
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<String> getAllPolicyTypesResp = new ResponseEntity<>(null, HttpStatus.NOT_FOUND);
- when(restTemplateMock.getForEntity(eq(URL_PREFIX + URL_POLICY_SCHEMAS), eq(String.class)))
- .thenReturn(getAllPolicyTypesResp);
-
- ResponseEntity<String> returnedResp = apiUnderTest.getAllPolicyTypes();
+ private void whenGetReturnOK(String url, HttpStatus status, String body) {
+ ResponseEntity<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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 "/v2/policies?policytype_id=" + type;
+ }
+
@Test
- public void testGetPolicyInstancesForTypeFailure() {
- ResponseEntity<String> getPolicyInstancesForTypeResp = new ResponseEntity<>(null, HttpStatus.NOT_FOUND);
- Map<String, ?> 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<String> 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<String> getPolicyInstancesForTypeResp = new ResponseEntity<>(policyInstances, HttpStatus.OK);
- Map<String, ?> 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<String> 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);
- verify(restTemplateMock).getForEntity(URL_PREFIX + URL_POLICY_INSTANCES, String.class, uriVariables);
+ ResponseEntity<String> 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<String> getPolicyInstancesForTypeResp = new ResponseEntity<>(policyInstances, HttpStatus.OK);
- Map<String, ?> 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<String> 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 "/v2/policies/" + id;
+ }
+
@Test
- public void testGetPolicyInstance() {
- ResponseEntity<Object> getPolicyInstanceResp = new ResponseEntity<>(POLICY_1_VALID, HttpStatus.OK);
- Map<String, ?> 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);
ResponseEntity<Object> 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 "/v2/policies/";
+ }
+
+ private void whenPutReturnOK(String url, String putBody, HttpStatus status, String body) {
+ ResponseEntity<String> ret = new ResponseEntity<>(body, status);
+ when(restClient.putForEntity(eq(url), contains(SERVICE_ID))).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), contains(SERVICE_ID))).thenReturn(Mono.error(e));
}
@Test
- public void testPutPolicyFailure() {
- HttpEntity<Object> jsonHttpEntity = createJsonHttpEntity(POLICY_1_VALID);
- Map<String, ?> 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();
+
+ PolicyInstance i = PolicyInstance.builder() //
+ .policyId(POLICY_1_ID) //
+ .policyTypeId(POLICY_TYPE_1_ID) //
+ .ricId(RIC_1_ID) //
+ .policyData(POLICY_DATA) //
+ .serviceId(SERVICE_ID) //
+ .build(); //
+
+ String jsonStr = gson.toJson(i, PolicyInstance.class);
+ whenPutReturnFailure(url, jsonStr, HttpStatus.NOT_FOUND, CLIENT_ERROR_MESSAGE);
ResponseEntity<String> 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<Object> jsonHttpEntity = createJsonHttpEntity(POLICY_1_VALID);
- Map<String, ?> uriVariables = Map.of( //
- "type", POLICY_TYPE_1_ID, //
- "instance", POLICY_1_ID, //
- "ric", RIC_1_ID, //
- "service", "controlpanel");
+ void testPutPolicySuccess() {
+ String url = urlPutPolicy();
+ PolicyInstance i = PolicyInstance.builder() //
+ .policyId(POLICY_1_ID) //
+ .policyTypeId(POLICY_TYPE_1_ID) //
+ .ricId(RIC_1_ID) //
+ .policyData(POLICY_DATA) //
+ .serviceId(SERVICE_ID) //
+ .build(); //
+ String jsonStr = gson.toJson(i, PolicyInstance.class);
+
+ whenPutReturnOK(url, jsonStr, HttpStatus.OK, POLICY_1_VALID);
ResponseEntity<String> 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<String> 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 "/v2/policies/" + id;
+ }
+
@Test
- public void testDeletePolicyFailure() {
- Map<String, ?> 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<String> 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<String, ?> uriVariables = Map.of("instance", POLICY_1_ID);
-
+ void testDeletePolicySuccess() {
+ whenDeleteReturnOK(deletePolicyUrl(POLICY_1_ID), HttpStatus.OK);
ResponseEntity<String> 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 "/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<String, ?> 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<String> returnedResp = apiUnderTest.getRicsSupportingType(POLICY_TYPE_1_ID);
+ ResponseEntity<String> 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<String, ?> 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<String> 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<List<ImmutablePolicyInfo>>() {}.getType();
- List<PolicyInfo> 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<List<ImmutableRicInfo>>() {}.getType();
- List<RicInfo> rspParsed = gson.fromJson(inputString, listType);
- Collection<String> 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) //
+ .build(); //
+ res.add(i);
}
- return gson.toJson(rics);
- }
-
- private HttpEntity<Object> createJsonHttpEntity(Object content) {
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_JSON);
- return new HttpEntity<>(content, headers);
+ return gson.toJson(res);
}
}