Merge "Changed in config will add and recover Rics"
[nonrtric.git] / policy-agent / src / test / java / org / oransc / policyagent / tasks / RepositorySupervisionTest.java
index 195a486..b1f397a 100644 (file)
@@ -27,6 +27,7 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Vector;
 
 import org.junit.jupiter.api.Test;
@@ -42,11 +43,11 @@ 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 reactor.core.publisher.Flux;
+import org.oransc.policyagent.repository.Services;
 import reactor.core.publisher.Mono;
 
 @ExtendWith(MockitoExtension.class)
@@ -62,13 +63,13 @@ public class RepositorySupervisionTest {
             .baseUrl("baseUrl1") //
             .managedElementIds(new Vector<String>(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<String>(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") //
@@ -93,19 +94,25 @@ 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, a1ClientMock);
+        RepositorySupervision supervisorUnderTest =
+            new RepositorySupervision(rics, policies, a1ClientMock, types, services);
 
-        when(a1ClientMock.getPolicyIdentities(anyString())).thenReturn(Flux.just("policyId1", "policyId2"));
+        Mono<Collection<String>> 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"));
 
         supervisorUnderTest.checkAllRics();
 
-        await().untilAsserted(() -> RicState.ACTIVE.equals(rics.getRic("ric2").state()));
+        await().untilAsserted(() -> RicState.IDLE.equals(ric1.state()));
+        await().untilAsserted(() -> RicState.IDLE.equals(ric2.state()));
+        await().untilAsserted(() -> RicState.IDLE.equals(ric3.state()));
 
-        verify(a1ClientMock).getPolicyIdentities("baseUrl1");
         verify(a1ClientMock).deletePolicy("baseUrl1", "policyId2");
-        verify(a1ClientMock).getPolicyIdentities("baseUrl2");
         verify(a1ClientMock).deletePolicy("baseUrl2", "policyId2");
         verifyNoMoreInteractions(a1ClientMock);
     }