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=791acee24d0dd7226d75e48c1bb80d9419aaad82;hpb=637540bc28fbf337e0c4c58c051a6b4f7ceb321d;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 791acee2..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,15 +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.Collection; +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; @@ -37,6 +40,7 @@ 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; @@ -47,6 +51,9 @@ 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; @ExtendWith(MockitoExtension.class) @@ -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") // @@ -94,23 +109,26 @@ public class RepositorySupervisionTest { 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, types); + Mono> policyIds = Mono.just(Arrays.asList("policyId1", "policyId2")); - Mono> policyIds = Mono.just(Arrays.asList("policyId1", "policyId2")); - when(a1ClientMock.getPolicyIdentities(anyString())).thenReturn(policyIds); - when(a1ClientMock.deletePolicy(anyString(), anyString())).thenReturn(Mono.empty()); - when(a1ClientMock.getPolicyTypeIdentities(anyString())).thenReturn(policyIds); - when(a1ClientMock.getPolicyType(anyString(), anyString())).thenReturn(Mono.just("schema")); + 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(ric1.state())); - await().untilAsserted(() -> RicState.ACTIVE.equals(ric2.state())); - await().untilAsserted(() -> RicState.ACTIVE.equals(ric3.state())); + await().untilAsserted(() -> RicState.IDLE.equals(ric1.getState())); + await().untilAsserted(() -> RicState.IDLE.equals(ric2.getState())); + await().untilAsserted(() -> RicState.IDLE.equals(ric3.getState())); - verify(a1ClientMock).deletePolicy("baseUrl1", "policyId2"); - verify(a1ClientMock).deletePolicy("baseUrl2", "policyId2"); + verify(a1ClientMock, times(3)).deleteAllPolicies(); verifyNoMoreInteractions(a1ClientMock); } }