Bump upstreams
[controller.git] / opendaylight / md-sal / eos-dom-akka / src / test / java / org / opendaylight / controller / eos / akka / AkkaEntityOwnershipServiceTest.java
index 522eb55dc7b25003b2eac34dbc4f613b2ad1f965..652102f903508a58b5e2b4c595835f5efe29a827 100644 (file)
@@ -26,6 +26,7 @@ import akka.cluster.ddata.typed.javadsl.DistributedData;
 import akka.cluster.ddata.typed.javadsl.Replicator;
 import com.typesafe.config.ConfigFactory;
 import java.time.Duration;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.concurrent.CompletionStage;
@@ -40,8 +41,6 @@ import org.opendaylight.controller.eos.akka.registry.candidate.CandidateRegistry
 import org.opendaylight.mdsal.eos.common.api.CandidateAlreadyRegisteredException;
 import org.opendaylight.mdsal.eos.common.api.EntityOwnershipState;
 import org.opendaylight.mdsal.eos.dom.api.DOMEntity;
-import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipCandidateRegistration;
-import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipListenerRegistration;
 import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.entity.owners.norev.EntityName;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.entity.owners.norev.EntityType;
@@ -53,6 +52,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controll
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
+import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
@@ -88,9 +88,9 @@ public class AkkaEntityOwnershipServiceTest extends AbstractNativeEosTest {
         final YangInstanceIdentifier entityId = YangInstanceIdentifier.of(QNAME);
         final DOMEntity entity = new DOMEntity(ENTITY_TYPE, entityId);
 
-        final DOMEntityOwnershipCandidateRegistration reg = service.registerCandidate(entity);
+        final Registration reg = service.registerCandidate(entity);
+        assertNotNull(reg);
 
-        verifyEntityOwnershipCandidateRegistration(entity, reg);
         verifyEntityCandidateRegistered(ENTITY_TYPE, entityId, "member-1");
 
         try {
@@ -102,9 +102,9 @@ public class AkkaEntityOwnershipServiceTest extends AbstractNativeEosTest {
         }
 
         final DOMEntity entity2 = new DOMEntity(ENTITY_TYPE2, entityId);
-        final DOMEntityOwnershipCandidateRegistration reg2 = service.registerCandidate(entity2);
+        final Registration reg2 = service.registerCandidate(entity2);
 
-        verifyEntityOwnershipCandidateRegistration(entity2, reg2);
+        assertNotNull(reg2);
         verifyEntityCandidateRegistered(ENTITY_TYPE2, entityId, "member-1");
     }
 
@@ -113,9 +113,9 @@ public class AkkaEntityOwnershipServiceTest extends AbstractNativeEosTest {
         final YangInstanceIdentifier entityId = YangInstanceIdentifier.of(QNAME);
         final DOMEntity entity = new DOMEntity(ENTITY_TYPE, entityId);
 
-        final DOMEntityOwnershipCandidateRegistration reg = service.registerCandidate(entity);
+        final Registration reg = service.registerCandidate(entity);
+        assertNotNull(reg);
 
-        verifyEntityOwnershipCandidateRegistration(entity, reg);
         verifyEntityCandidateRegistered(ENTITY_TYPE, entityId, "member-1");
 
         reg.close();
@@ -132,13 +132,11 @@ public class AkkaEntityOwnershipServiceTest extends AbstractNativeEosTest {
         final DOMEntity entity = new DOMEntity(ENTITY_TYPE, entityId);
         final MockEntityOwnershipListener listener = new MockEntityOwnershipListener("member-1");
 
-        final DOMEntityOwnershipListenerRegistration reg = service.registerListener(entity.getType(), listener);
+        final Registration reg = service.registerListener(entity.getType(), listener);
 
         assertNotNull("EntityOwnershipListenerRegistration null", reg);
-        assertEquals("getEntityType", entity.getType(), reg.getEntityType());
-        assertEquals("getInstance", listener, reg.getInstance());
 
-        final DOMEntityOwnershipCandidateRegistration candidate = service.registerCandidate(entity);
+        final Registration candidate = service.registerCandidate(entity);
 
         verifyListenerState(listener, entity, true, true, false);
         final int changes = listener.getChanges().size();
@@ -157,7 +155,7 @@ public class AkkaEntityOwnershipServiceTest extends AbstractNativeEosTest {
     public void testGetOwnershipState() throws Exception {
         final DOMEntity entity = new DOMEntity(ENTITY_TYPE, "one");
 
-        final DOMEntityOwnershipCandidateRegistration registration = service.registerCandidate(entity);
+        final Registration registration = service.registerCandidate(entity);
         verifyGetOwnershipState(service, entity, EntityOwnershipState.IS_OWNER);
 
         final RunningContext runningContext = service.getRunningContext();
@@ -197,40 +195,41 @@ public class AkkaEntityOwnershipServiceTest extends AbstractNativeEosTest {
 
         final DOMEntity entity = new DOMEntity(ENTITY_TYPE, entityId);
 
-        final DOMEntityOwnershipCandidateRegistration reg = service.registerCandidate(entity);
+        final Registration reg = service.registerCandidate(entity);
 
-        verifyEntityOwnershipCandidateRegistration(entity, reg);
+        assertNotNull(reg);
         verifyEntityCandidateRegistered(ENTITY_TYPE, entityId, "member-1");
 
-        var getEntityResult = service.getEntity(new GetEntityInputBuilder()
+        var result = service.getEntity(new GetEntityInputBuilder()
             .setName(new EntityName(CODEC_CONTEXT.fromYangInstanceIdentifier(entityId)))
             .setType(new EntityType(ENTITY_TYPE))
             .build())
-            .get();
+            .get()
+            .getResult();
 
-        assertEquals(getEntityResult.getResult().getOwnerNode().getValue(), "member-1");
-        assertEquals(getEntityResult.getResult().getCandidateNodes().get(0).getValue(), "member-1");
+        assertEquals(result.getOwnerNode().getValue(), "member-1");
+        assertEquals(result.getCandidateNodes().get(0).getValue(), "member-1");
 
         // we should not be able to retrieve the entity when using string
         final String entityPathEncoded =
                 "/network-topology:network-topology/topology[topology-id='test']/node[node-id='test://test-node']";
 
-        getEntityResult = service.getEntity(new GetEntityInputBuilder()
-                .setName(new EntityName(entityPathEncoded))
-                .setType(new EntityType(ENTITY_TYPE))
-                .build())
-                .get();
+        result = service.getEntity(new GetEntityInputBuilder()
+            .setName(new EntityName(entityPathEncoded))
+            .setType(new EntityType(ENTITY_TYPE))
+            .build())
+            .get()
+            .getResult();
 
-        assertNull(getEntityResult.getResult().getOwnerNode());
-        assertTrue(getEntityResult.getResult().getCandidateNodes().isEmpty());
+        assertNull(result.getOwnerNode());
+        assertEquals(List.of(), result.getCandidateNodes());
 
         final var getEntitiesResult = service.getEntities(new GetEntitiesInputBuilder().build()).get().getResult();
-
-        assertEquals(getEntitiesResult.getEntities().size(), 1);
-        assertTrue(getEntitiesResult.getEntities().get(new EntitiesKey(
-                new EntityName(CODEC_CONTEXT.fromYangInstanceIdentifier(entityId)), new EntityType(ENTITY_TYPE)))
-                .getCandidateNodes().contains(new NodeName("member-1")));
-        assertTrue(getEntitiesResult.getEntities().get(new EntitiesKey(
+        final var entities = getEntitiesResult.nonnullEntities();
+        assertEquals(1, entities.size());
+        assertTrue(entities.get(new EntitiesKey(new EntityName(CODEC_CONTEXT.fromYangInstanceIdentifier(entityId)),
+            new EntityType(ENTITY_TYPE))).getCandidateNodes().contains(new NodeName("member-1")));
+        assertTrue(entities.get(new EntitiesKey(
                         new EntityName(CODEC_CONTEXT.fromYangInstanceIdentifier(entityId)),
                         new EntityType(ENTITY_TYPE)))
                 .getOwnerNode().getValue().equals("member-1"));
@@ -302,10 +301,4 @@ public class AkkaEntityOwnershipServiceTest extends AbstractNativeEosTest {
 
         return success.get(CandidateRegistry.KEY).getEntries();
     }
-
-    private static void verifyEntityOwnershipCandidateRegistration(final DOMEntity entity,
-                                                                   final DOMEntityOwnershipCandidateRegistration reg) {
-        assertNotNull("EntityOwnershipCandidateRegistration null", reg);
-        assertEquals("getInstance", entity, reg.getInstance());
-    }
 }