package org.oransc.policyagent.clients;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.stubbing.OngoingStubbing;
+import org.oransc.policyagent.repository.Policy;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
CONTROLLER_USERNAME, CONTROLLER_PASSWORD);
}
+ @Test
+ public void testGetStatus() {
+ SdncOscAdapterInput inputParams = ImmutableSdncOscAdapterInput.builder() //
+ .nearRtRicUrl(RIC_1_URL) //
+ .policyId(POLICY_1_ID) //
+ .build();
+ String inputJsonString = A1ClientHelper.createInputJsonString(inputParams);
+
+ String status = "STATUS";
+ Mono<String> policyStatusResp = A1ClientHelper.createOutputJsonResponse("policy-status", status);
+ whenAsyncPostThenReturn(policyStatusResp);
+
+ Policy policy = A1ClientHelper.createPolicy(RIC_1_URL, POLICY_1_ID, POLICY_JSON_VALID, POLICY_TYPE_1_ID);
+
+ String returnedStatus = clientUnderTest.getPolicyStatus(policy).block();
+
+ assertEquals(status, returnedStatus, "unexpexted status");
+
+ final String expectedUrl = "/A1-ADAPTER-API:getPolicyStatus";
+ verify(asyncRestClientMock).postWithAuthHeader(expectedUrl, inputJsonString, CONTROLLER_USERNAME,
+ CONTROLLER_PASSWORD);
+ }
+
private OngoingStubbing<Mono<String>> whenAsyncPostThenReturn(Mono<String> response) {
return when(asyncRestClientMock.postWithAuthHeader(anyString(), anyString(), anyString(), anyString()))
.thenReturn(response);