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;
private static final String CONTROLLER_USERNAME = "username";
private static final String CONTROLLER_PASSWORD = "password";
private static final String RIC_1_URL = "RicUrl";
- private static final String POLICYTYPES_IDENTITIES_URL = "/A1-ADAPTER-API:getPolicyTypeIdentities";
- private static final String POLICIES_IDENTITIES_URL = "/A1-ADAPTER-API:getPolicyIdentities";
- private static final String POLICYTYPES_URL = "/A1-ADAPTER-API:getPolicyType";
+ private static final String POLICY_TYPES_IDENTITIES_URL = "/A1-ADAPTER-API:getPolicyTypeIdentities";
+ private static final String POLICY_IDENTITIES_URL = "/A1-ADAPTER-API:getPolicyIdentities";
+ private static final String POLICY_TYPES_URL = "/A1-ADAPTER-API:getPolicyType";
private static final String PUT_POLICY_URL = "/A1-ADAPTER-API:putPolicy";
private static final String DELETE_POLICY_URL = "/A1-ADAPTER-API:deletePolicy";
Mono<List<String>> returnedMono = clientUnderTest.getPolicyTypeIdentities();
- verify(asyncRestClientMock).postWithAuthHeader(POLICYTYPES_IDENTITIES_URL, inputJsonString, CONTROLLER_USERNAME,
- CONTROLLER_PASSWORD);
+ verify(asyncRestClientMock).postWithAuthHeader(POLICY_TYPES_IDENTITIES_URL, inputJsonString,
+ CONTROLLER_USERNAME, CONTROLLER_PASSWORD);
StepVerifier.create(returnedMono).expectNext(policyTypeIds).expectComplete().verify();
}
Mono<List<String>> returnedMono = clientUnderTest.getPolicyIdentities();
- verify(asyncRestClientMock).postWithAuthHeader(POLICIES_IDENTITIES_URL, inputJsonString, CONTROLLER_USERNAME,
+ verify(asyncRestClientMock).postWithAuthHeader(POLICY_IDENTITIES_URL, inputJsonString, CONTROLLER_USERNAME,
CONTROLLER_PASSWORD);
StepVerifier.create(returnedMono).expectNext(policyIds).expectComplete().verify();
}
Mono<String> returnedMono = clientUnderTest.getPolicyTypeSchema(POLICY_TYPE_1_ID);
- verify(asyncRestClientMock).postWithAuthHeader(POLICYTYPES_URL, inputJsonString, CONTROLLER_USERNAME,
+ verify(asyncRestClientMock).postWithAuthHeader(POLICY_TYPES_URL, inputJsonString, CONTROLLER_USERNAME,
CONTROLLER_PASSWORD);
StepVerifier.create(returnedMono).expectNext(POLICY_TYPE_SCHEMA_VALID).expectComplete().verify();
}
Mono<String> returnedMono = clientUnderTest.getPolicyTypeSchema(POLICY_TYPE_1_ID);
- verify(asyncRestClientMock).postWithAuthHeader(POLICYTYPES_URL, inputJsonString, CONTROLLER_USERNAME,
+ verify(asyncRestClientMock).postWithAuthHeader(POLICY_TYPES_URL, inputJsonString, CONTROLLER_USERNAME,
CONTROLLER_PASSWORD);
StepVerifier.create(returnedMono).expectErrorMatches(throwable -> throwable instanceof JSONException).verify();
}
Flux<String> returnedFlux = clientUnderTest.deleteAllPolicies();
StepVerifier.create(returnedFlux).expectComplete().verify();
- verify(asyncRestClientMock).postWithAuthHeader(POLICIES_IDENTITIES_URL, inputJsonStringGetIds,
+ verify(asyncRestClientMock).postWithAuthHeader(POLICY_IDENTITIES_URL, inputJsonStringGetIds,
CONTROLLER_USERNAME, CONTROLLER_PASSWORD);
verify(asyncRestClientMock).postWithAuthHeader(DELETE_POLICY_URL, inputJsonStringDeletePolicy1,
CONTROLLER_USERNAME, CONTROLLER_PASSWORD);
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);