import static org.mockito.Mockito.when;
import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.nio.file.Files;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import org.mockito.stubbing.OngoingStubbing;
import org.oransc.policyagent.clients.A1Client.A1ProtocolType;
import org.oransc.policyagent.clients.SdncOscA1Client.AdapterOutput;
+import org.oransc.policyagent.clients.SdncOscA1Client.AdapterRequest;
import org.oransc.policyagent.configuration.ControllerConfig;
import org.oransc.policyagent.configuration.ImmutableControllerConfig;
import org.oransc.policyagent.repository.Policy;
String expInput = SdncJsonHelper.createInputJsonString(expectedParams);
verify(asyncRestClientMock).postWithAuthHeader(GET_A1_POLICY_URL, expInput, CONTROLLER_USERNAME,
CONTROLLER_PASSWORD);
+ }
+
+ private String loadFile(String fileName) throws IOException {
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ URL url = loader.getResource(fileName);
+ File file = new File(url.getFile());
+ return new String(Files.readAllBytes(file.toPath()));
+ }
+
+ @Test
+ public void testGetTypeSchema_OSC() throws IOException {
+ clientUnderTest = new SdncOscA1Client(A1ProtocolType.SDNC_OSC_OSC_V1, //
+ A1ClientHelper.createRic(RIC_1_URL).getConfig(), //
+ controllerConfig(), asyncRestClientMock);
+
+ String ricResponse = loadFile("test_osc_get_schema_response.json");
+ JsonElement elem = gson().fromJson(ricResponse, JsonElement.class);
+ String responseFromController = createResponse(elem);
+ whenAsyncPostThenReturn(Mono.just(responseFromController));
+ String response = clientUnderTest.getPolicyTypeSchema("policyTypeId").block();
+ JsonElement respJson = gson().fromJson(response, JsonElement.class);
+ assertEquals("policyTypeId", respJson.getAsJsonObject().get("title").getAsString(),
+ "title should be updated to contain policyType ID");
}
private String policiesUrl() {
.block();
assertEquals("OK", returned, "");
final String expUrl = policiesUrl() + "/" + POLICY_1_ID;
- ImmutableAdapterRequest expectedInputParams = ImmutableAdapterRequest.builder() //
+ AdapterRequest expectedInputParams = ImmutableAdapterRequest.builder() //
.nearRtRicUrl(expUrl) //
.body(POLICY_JSON_VALID) //
.build();
Mono<String> returnedMono = clientUnderTest
.putPolicy(A1ClientHelper.createPolicy(RIC_1_URL, POLICY_1_ID, policyJson, POLICY_TYPE_1_ID));
+ StepVerifier.create(returnedMono) //
+ .expectSubscription() //
+ .expectErrorMatches(t -> t instanceof WebClientResponseException) //
+ .verify();
final String expUrl = policiesUrl() + "/" + POLICY_1_ID;
- ImmutableAdapterRequest expRequestParams = ImmutableAdapterRequest.builder() //
+ AdapterRequest expRequestParams = ImmutableAdapterRequest.builder() //
.nearRtRicUrl(expUrl) //
.body(policyJson) //
.build();
.block();
assertEquals("OK", returned, "");
final String expUrl = policiesUrl() + "/" + POLICY_1_ID;
- ImmutableAdapterRequest expectedInputParams = ImmutableAdapterRequest.builder() //
+ AdapterRequest expectedInputParams = ImmutableAdapterRequest.builder() //
.nearRtRicUrl(expUrl) //
.build();
String expInput = SdncJsonHelper.createInputJsonString(expectedInputParams);
assertEquals("OK", returnedStatus, "unexpected status");
final String expUrl = policiesUrl() + "/" + POLICY_1_ID + "/status";
- ImmutableAdapterRequest expectedInputParams = ImmutableAdapterRequest.builder() //
+ AdapterRequest expectedInputParams = ImmutableAdapterRequest.builder() //
.nearRtRicUrl(expUrl) //
.build();
String expInput = SdncJsonHelper.createInputJsonString(expectedInputParams);