X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Ftest%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Ftasks%2FRepositorySupervisionTest.java;h=92f48defff876fbe9ef3c2724c0121d3c8b56850;hb=9fb9f6e4fe8eb9425d848ae576c0e755dfca22df;hp=3d712a3e351cf47302b3f21a123a0134da32b62d;hpb=50e6a619a2f568f949c02dcd8d6656218d422a93;p=nonrtric.git diff --git a/policy-agent/src/test/java/org/oransc/policyagent/tasks/RepositorySupervisionTest.java b/policy-agent/src/test/java/org/oransc/policyagent/tasks/RepositorySupervisionTest.java index 3d712a3e..92f48def 100644 --- a/policy-agent/src/test/java/org/oransc/policyagent/tasks/RepositorySupervisionTest.java +++ b/policy-agent/src/test/java/org/oransc/policyagent/tasks/RepositorySupervisionTest.java @@ -21,14 +21,18 @@ package org.oransc.policyagent.tasks; import static org.awaitility.Awaitility.await; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; -import static org.mockito.Mockito.when; import java.util.Arrays; +import java.util.List; import java.util.Vector; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.runner.RunWith; @@ -36,15 +40,18 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import org.mockito.junit.jupiter.MockitoExtension; import org.oransc.policyagent.clients.A1Client; +import org.oransc.policyagent.clients.A1ClientFactory; import org.oransc.policyagent.configuration.ImmutableRicConfig; import org.oransc.policyagent.repository.ImmutablePolicy; import org.oransc.policyagent.repository.ImmutablePolicyType; import org.oransc.policyagent.repository.Policies; import org.oransc.policyagent.repository.Policy; import org.oransc.policyagent.repository.PolicyType; +import org.oransc.policyagent.repository.PolicyTypes; import org.oransc.policyagent.repository.Ric; import org.oransc.policyagent.repository.Ric.RicState; import org.oransc.policyagent.repository.Rics; +import org.oransc.policyagent.repository.Services; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -55,6 +62,14 @@ public class RepositorySupervisionTest { @Mock A1Client a1ClientMock; + @Mock + A1ClientFactory a1ClientFactory; + + @BeforeEach + public void init() { + doReturn(Mono.just(a1ClientMock)).when(a1ClientFactory).createA1Client(any()); + } + @Test public void test() { Ric ric1 = new Ric(ImmutableRicConfig.builder() // @@ -62,13 +77,13 @@ public class RepositorySupervisionTest { .baseUrl("baseUrl1") // .managedElementIds(new Vector(Arrays.asList("kista_1", "kista_2"))) // .build()); - ric1.setState(Ric.RicState.ACTIVE); + ric1.setState(Ric.RicState.IDLE); Ric ric2 = new Ric(ImmutableRicConfig.builder() // .name("ric2") // .baseUrl("baseUrl2") // .managedElementIds(new Vector(Arrays.asList("kista_3", "kista_4"))) // .build()); - ric2.setState(Ric.RicState.NOT_REACHABLE); + ric2.setState(Ric.RicState.UNDEFINED); Ric ric3 = new Ric(ImmutableRicConfig.builder() // .name("ric3") // .baseUrl("baseUrl3") // @@ -81,6 +96,7 @@ public class RepositorySupervisionTest { PolicyType policyType = ImmutablePolicyType.builder() // .name("type") // + .schema("") // .build(); Policy policy1 = ImmutablePolicy.builder() // .id("policyId1") // @@ -92,20 +108,27 @@ public class RepositorySupervisionTest { .build(); Policies policies = new Policies(); policies.put(policy1); + PolicyTypes types = new PolicyTypes(); + Services services = new Services(); + + RepositorySupervision supervisorUnderTest = + new RepositorySupervision(rics, policies, a1ClientFactory, types, services); - RepositorySupervision supervisorUnderTest = new RepositorySupervision(rics, policies, a1ClientMock); + Mono> policyIds = Mono.just(Arrays.asList("policyId1", "policyId2")); - when(a1ClientMock.getPolicyIdentities(anyString())).thenReturn(Flux.just("policyId1", "policyId2")); - when(a1ClientMock.deletePolicy(anyString(), anyString())).thenReturn(Mono.empty()); + doReturn(policyIds).when(a1ClientMock).getPolicyTypeIdentities(); + doReturn(policyIds).when(a1ClientMock).getPolicyIdentities(); + doReturn(Mono.just("schema")).when(a1ClientMock).getPolicyTypeSchema(anyString()); + doReturn(Mono.just("OK")).when(a1ClientMock).putPolicy(any()); + doReturn(Flux.empty()).when(a1ClientMock).deleteAllPolicies(); supervisorUnderTest.checkAllRics(); - await().untilAsserted(() -> RicState.ACTIVE.equals(rics.getRic("ric2").state())); + await().untilAsserted(() -> RicState.IDLE.equals(ric1.getState())); + await().untilAsserted(() -> RicState.IDLE.equals(ric2.getState())); + await().untilAsserted(() -> RicState.IDLE.equals(ric3.getState())); - verify(a1ClientMock).getPolicyIdentities("baseUrl1"); - verify(a1ClientMock).deletePolicy("baseUrl1", "policyId2"); - verify(a1ClientMock).getPolicyIdentities("baseUrl2"); - verify(a1ClientMock).deletePolicy("baseUrl2", "policyId2"); + verify(a1ClientMock, times(3)).deleteAllPolicies(); verifyNoMoreInteractions(a1ClientMock); } }