package org.oransc.policyagent.clients;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.Arrays;
+import java.util.List;
import org.json.JSONException;
import org.junit.jupiter.api.BeforeEach;
@ExtendWith(MockitoExtension.class)
public class StdA1ClientTest {
private static final String RIC_URL = "RicUrl";
- private static final String POLICY_TYPES_IDENTITIES_URL = "/policytypes";
private static final String POLICIES_IDENTITIES_URL = "/policies";
- private static final String POLICY_TYPES_URL = "/policytypes/";
private static final String POLICIES_URL = "/policies/";
-
private static final String POLICY_TYPE_1_NAME = "type1";
- private static final String POLICY_TYPE_2_NAME = "type2";
- private static final String POLICY_TYPE_SCHEMA_VALID = "{\"type\":\"type1\"}";
- private static final String POLICY_TYPE_SCHEMA_INVALID = "\"type\":\"type1\"}";
private static final String POLICY_1_ID = "policy1";
private static final String POLICY_2_ID = "policy2";
private static final String POLICY_JSON_VALID = "{\"policyId\":\"policy1\"}";
@Test
public void testGetPolicyTypeIdentities() {
- Mono<String> policyTypeIds = Mono.just(Arrays.asList(POLICY_TYPE_1_NAME, POLICY_TYPE_2_NAME).toString());
- when(asyncRestClientMock.get(anyString())).thenReturn(policyTypeIds);
-
- Mono<?> policyTypeIdsFlux = clientUnderTest.getPolicyTypeIdentities();
-
- verify(asyncRestClientMock).get(POLICY_TYPES_IDENTITIES_URL);
- StepVerifier.create(policyTypeIdsFlux).expectNextCount(1).expectComplete().verify();
+ List<String> policyTypeIds = clientUnderTest.getPolicyTypeIdentities().block();
+ assertEquals(1, policyTypeIds.size(), "should hardcoded to one");
+ assertEquals("", policyTypeIds.get(0), "should hardcoded to empty");
}
@Test
Mono<String> policyIds = Mono.just(Arrays.asList(POLICY_1_ID, POLICY_2_ID).toString());
when(asyncRestClientMock.get(anyString())).thenReturn(policyIds);
- Mono<?> policyIdsFlux = clientUnderTest.getPolicyIdentities();
+ List<String> result = clientUnderTest.getPolicyIdentities().block();
+ assertEquals(2, result.size(), "");
verify(asyncRestClientMock).get(POLICIES_IDENTITIES_URL);
- StepVerifier.create(policyIdsFlux).expectNextCount(1).expectComplete().verify();
}
@Test
public void testGetValidPolicyType() {
- Mono<String> policyTypeResp =
- Mono.just("{\"policySchema\": " + POLICY_TYPE_SCHEMA_VALID + ", \"statusSchema\": {} }");
-
- when(asyncRestClientMock.get(anyString())).thenReturn(policyTypeResp);
-
- Mono<String> policyTypeMono = clientUnderTest.getPolicyTypeSchema(POLICY_TYPE_1_NAME);
-
- verify(asyncRestClientMock).get(POLICY_TYPES_URL + POLICY_TYPE_1_NAME);
- StepVerifier.create(policyTypeMono).expectNext(POLICY_TYPE_SCHEMA_VALID).expectComplete().verify();
- }
-
- @Test
- public void testGetInvalidPolicyType() {
- when(asyncRestClientMock.get(anyString())).thenReturn(Mono.just(POLICY_TYPE_SCHEMA_INVALID));
-
- Mono<String> policyTypeMono = clientUnderTest.getPolicyTypeSchema(POLICY_TYPE_1_NAME);
-
- verify(asyncRestClientMock).get(POLICY_TYPES_URL + POLICY_TYPE_1_NAME);
- StepVerifier.create(policyTypeMono).expectErrorMatches(throwable -> throwable instanceof JSONException)
- .verify();
+ String policyType = clientUnderTest.getPolicyTypeSchema(POLICY_TYPE_1_NAME).block();
+ assertEquals("{}", policyType, "");
}
@Test
Mono<String> policyMono = clientUnderTest
.putPolicy(A1ClientHelper.createPolicy(RIC_URL, POLICY_1_ID, POLICY_JSON_VALID, POLICY_TYPE));
- verify(asyncRestClientMock).put(POLICIES_URL + POLICY_1_ID + "?policyTypeId=" + POLICY_TYPE, POLICY_JSON_VALID);
+ verify(asyncRestClientMock).put(POLICIES_URL + POLICY_1_ID, POLICY_JSON_VALID);
StepVerifier.create(policyMono).expectNext(POLICY_JSON_VALID).expectComplete().verify();
}