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=deedd8e1ed84e5cd77c6dcfbf24050cbc4433243;hb=bf7a85063ee0b0ea0829cffe1e6053f243a0e987;hp=42d266969ecb2b03b8bbef6017e0882a933cff97;hpb=b75ca3906ec5d7eb2b48501e9c2abec3c3243ce4;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 42d2669..deedd8e 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 @@ -28,17 +28,17 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import com.google.gson.GsonBuilder; -import com.google.gson.reflect.TypeToken; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; -import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; import java.util.Arrays; -import java.util.List; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.oransc.portal.nonrtric.controlpanel.model.ImmutablePolicyInfo; 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.util.AsyncRestClient; import org.springframework.http.HttpStatus; @@ -53,13 +53,20 @@ class PolicyAgentApiImplTest { 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 = "{\"ricName\":\"ric1\",\"policyTypes\":[\"type1\"]}"; - private static final String RIC_1_INFO_INVALID = "{\"ricName\":\"ric1\",\"policyTypes\":\"type1\"]}"; + 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(); // @@ -129,10 +136,13 @@ class PolicyAgentApiImplTest { @Test void testGetPolicyInstancesForTypeSuccessValidJson() { - String policyInstances = "{\"policy_ids\":[{\"id\":\"policy1\"}]}"; - String policyInstancesJson = parsePolicyInstancesJson("[{\"id\":\"policy1\"}]"); + String policyInstances = "{\"policy_ids\":[\"policy1\"]}"; + String policyInstancesJson = parsePolicyInstancesJson("[\"policy1\"]"); 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); + ResponseEntity returnedResp = apiUnderTest.getPolicyInstancesForType(POLICY_TYPE_1_ID); assertEquals(returnedResp.getBody(), policyInstancesJson); assertEquals(HttpStatus.OK, returnedResp.getStatusCode()); @@ -154,15 +164,19 @@ class PolicyAgentApiImplTest { return "/v2/policies/" + id; } + private String urlPolicyStatus(String id) { + return "/v2/policies/" + id + "/status"; + } + @Test 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); assertEquals(HttpStatus.OK, returnedResp.getStatusCode()); - assertEquals(POLICY_1_VALID, returnedResp.getBody()); - + assertEquals(POLICY_DATA, gson.toJson(returnedResp.getBody())); } private String urlPutPolicy() { @@ -183,21 +197,20 @@ class PolicyAgentApiImplTest { @Test void testPutPolicyFailure() { String url = urlPutPolicy(); - - PolicyInfo i = ImmutablePolicyInfo.builder() // - .id(POLICY_1_ID) // - .type(POLICY_TYPE_1_ID) // - .ric(RIC_1_ID) // - .json(POLICY_1_VALID) // - .service("") // - .lastModified("") // + 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, PolicyInfo.class); + 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); assertTrue(returnedResp.getBody().contains(CLIENT_ERROR_MESSAGE)); assertEquals(HttpStatus.NOT_FOUND, returnedResp.getStatusCode()); @@ -206,22 +219,19 @@ class PolicyAgentApiImplTest { @Test void testPutPolicySuccess() { String url = urlPutPolicy(); - PolicyInfo i = ImmutablePolicyInfo.builder() // - .id(POLICY_1_ID) // - .type(POLICY_TYPE_1_ID) // - .ric(RIC_1_ID) // - .json(POLICY_1_VALID) // - .service("") // - .lastModified("") // + 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, PolicyInfo.class); - + 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); - + apiUnderTest.putPolicy(POLICY_TYPE_1_ID, POLICY_1_ID, POLICY_DATA, RIC_1_ID); assertNull(returnedResp.getBody()); assertEquals(HttpStatus.OK, returnedResp.getStatusCode()); } @@ -288,12 +298,20 @@ class PolicyAgentApiImplTest { } 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); + 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(policyInstances); + return gson.toJson(res); } }