X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2Fregistry%2Fgossip%2FBucketStoreTest.java;h=4e3961aac139f653a8886bf5eb18937891df21c9;hp=2c9a14130710857eaa8da7bda5efef6341614376;hb=e9fce74e37472296faa2faf1acbd110b74196032;hpb=84796ce69cdbae37b78f1b909e933f38f3deb292 diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreTest.java index 2c9a141307..4e3961aac1 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreTest.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketStoreTest.java @@ -7,13 +7,16 @@ */ package org.opendaylight.controller.remote.rpc.registry.gossip; +import akka.actor.ActorRef; import akka.actor.ActorSystem; import akka.actor.Address; import akka.actor.Props; +import akka.testkit.JavaTestKit; import akka.testkit.TestActorRef; import com.typesafe.config.ConfigFactory; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; @@ -29,10 +32,10 @@ public class BucketStoreTest { * @author gwu * */ - private static class T implements Copier { + private static class T implements BucketData { @Override - public T copy() { - return new T(); + public Optional getWatchActor() { + return Optional.empty(); } } @@ -40,35 +43,33 @@ public class BucketStoreTest { @BeforeClass public static void setup() { - system = ActorSystem.create("opendaylight-rpc", ConfigFactory.load().getConfig("unit-test")); system.actorOf(Props.create(TerminationMonitor.class), "termination-monitor"); } @AfterClass public static void teardown() { - system.shutdown(); + JavaTestKit.shutdownActorSystem(system); } /** - * Given remote buckets - * Should merge with local copy of remote buckets + * Given remote buckets, should merge with local copy of remote buckets. */ @Test - public void testReceiveUpdateRemoteBuckets(){ + public void testReceiveUpdateRemoteBuckets() { - BucketStore store = createStore(); + final BucketStore store = createStore(); Address localAddress = system.provider().getDefaultAddress(); - Bucket localBucket = new BucketImpl<>(); + Bucket localBucket = new BucketImpl<>(new T()); Address a1 = new Address("tcp", "system1"); Address a2 = new Address("tcp", "system2"); Address a3 = new Address("tcp", "system3"); - Bucket b1 = new BucketImpl<>(); - Bucket b2 = new BucketImpl<>(); - Bucket b3 = new BucketImpl<>(); + Bucket b1 = new BucketImpl<>(new T()); + Bucket b2 = new BucketImpl<>(new T()); + Bucket b3 = new BucketImpl<>(new T()); Map> remoteBuckets = new HashMap<>(3); remoteBuckets.put(a1, b1); @@ -87,7 +88,7 @@ public class BucketStoreTest { //Add a new remote bucket Address a4 = new Address("tcp", "system4"); - Bucket b4 = new BucketImpl<>(); + Bucket b4 = new BucketImpl<>(new T()); remoteBuckets.clear(); remoteBuckets.put(a4, b4); store.receiveUpdateRemoteBuckets(remoteBuckets); @@ -99,33 +100,33 @@ public class BucketStoreTest { Assert.assertTrue(remoteBucketsInStore.size() == 4); //Update a bucket - Bucket b3_new = new BucketImpl<>(); + Bucket b3New = new BucketImpl<>(new T()); remoteBuckets.clear(); - remoteBuckets.put(a3, b3_new); + remoteBuckets.put(a3, b3New); remoteBuckets.put(a1, null); remoteBuckets.put(a2, null); store.receiveUpdateRemoteBuckets(remoteBuckets); //Should only update a3 remoteBucketsInStore = store.getRemoteBuckets(); - Bucket b3_inStore = remoteBucketsInStore.get(a3); - Assert.assertEquals(b3_new.getVersion(), b3_inStore.getVersion()); + Bucket b3InStore = remoteBucketsInStore.get(a3); + Assert.assertEquals(b3New.getVersion(), b3InStore.getVersion()); //Should NOT update a1 and a2 - Bucket b1_inStore = remoteBucketsInStore.get(a1); - Bucket b2_inStore = remoteBucketsInStore.get(a2); - Assert.assertEquals(b1.getVersion(), b1_inStore.getVersion()); - Assert.assertEquals(b2.getVersion(), b2_inStore.getVersion()); + Bucket b1InStore = remoteBucketsInStore.get(a1); + Bucket b2InStore = remoteBucketsInStore.get(a2); + Assert.assertEquals(b1.getVersion(), b1InStore.getVersion()); + Assert.assertEquals(b2.getVersion(), b2InStore.getVersion()); Assert.assertTrue(remoteBucketsInStore.size() == 4); //Should update versions map //versions map contains versions for all remote buckets (4). Map versionsInStore = store.getVersions(); Assert.assertEquals(4, versionsInStore.size()); - Assert.assertEquals(b1.getVersion(), versionsInStore.get(a1)); - Assert.assertEquals(b2.getVersion(), versionsInStore.get(a2)); - Assert.assertEquals(b3_new.getVersion(), versionsInStore.get(a3)); - Assert.assertEquals(b4.getVersion(), versionsInStore.get(a4)); + Assert.assertEquals((Long)b1.getVersion(), versionsInStore.get(a1)); + Assert.assertEquals((Long)b2.getVersion(), versionsInStore.get(a2)); + Assert.assertEquals((Long)b3New.getVersion(), versionsInStore.get(a3)); + Assert.assertEquals((Long)b4.getVersion(), versionsInStore.get(a4)); //Send older version of bucket remoteBuckets.clear(); @@ -134,8 +135,8 @@ public class BucketStoreTest { //Should NOT update a3 remoteBucketsInStore = store.getRemoteBuckets(); - b3_inStore = remoteBucketsInStore.get(a3); - Assert.assertTrue(b3_inStore.getVersion().longValue() == b3_new.getVersion().longValue()); + b3InStore = remoteBucketsInStore.get(a3); + Assert.assertEquals(b3InStore.getVersion(), b3New.getVersion()); } @@ -144,10 +145,10 @@ public class BucketStoreTest { * * @return instance of BucketStore class */ - private static BucketStore createStore(){ - final Props props = Props.create(BucketStore.class, new RemoteRpcProviderConfig(system.settings().config())); + private static BucketStore createStore() { + final Props props = Props.create(BucketStore.class, new RemoteRpcProviderConfig(system.settings().config()), + new T()); final TestActorRef> testRef = TestActorRef.create(system, props, "testStore"); return testRef.underlyingActor(); } - }