+ String expInput = SdncJsonHelper.createInputJsonString(expectedInputParams);
+
+ verify(asyncRestClientMock).postWithAuthHeader(GET_A1_POLICY_STATUS_URL, expInput, CONTROLLER_USERNAME,
+ CONTROLLER_PASSWORD);
+ }
+
+ @Test
+ void getVersion_STD() {
+ whenPostReturnOkResponse();
+
+ A1ProtocolType returnedVersion = clientUnderTest.getProtocolVersion().block();
+
+ assertEquals(A1ProtocolType.SDNC_OSC_STD_V1_1, returnedVersion);
+
+ whenPostReturnOkResponseNoBody();
+
+ returnedVersion = clientUnderTest.getProtocolVersion().block();
+
+ assertEquals(A1ProtocolType.SDNC_OSC_STD_V1_1, returnedVersion);
+ }
+
+ @Test
+ void getVersion_OSC() {
+ clientUnderTest = new SdncOscA1Client(A1ProtocolType.SDNC_OSC_OSC_V1, //
+ A1ClientHelper.createRic(RIC_1_URL).getConfig(), //
+ controllerConfig(), asyncRestClientMock);
+
+ whenAsyncPostThenReturn(Mono.error(new Exception("Error"))).thenReturn(Mono.just(createOkResponseString(true)));
+
+ A1ProtocolType returnedVersion = clientUnderTest.getProtocolVersion().block();
+
+ assertEquals(A1ProtocolType.SDNC_OSC_OSC_V1, returnedVersion);
+ }
+
+ private String policiesUrl() {
+ return RIC_1_URL + "/A1-P/v1/policies";
+ }
+
+ private Gson gson() {
+ return SdncOscA1Client.gson;
+ }
+
+ 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()));
+ }
+
+ private void whenPostReturnOkResponse() {
+ whenAsyncPostThenReturn(Mono.just(createOkResponseString(true)));
+ }
+
+ private void whenPostReturnOkResponseNoBody() {
+ whenAsyncPostThenReturn(Mono.just(createOkResponseString(false)));
+ }
+
+ private String createOkResponseWithBody(Object body) {
+ AdapterOutput output = ImmutableAdapterOutput.builder() //
+ .body(gson().toJson(body)) //
+ .httpStatus(HttpStatus.OK.value()) //