Remove Copier interface
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / src / test / java / org / opendaylight / controller / remote / rpc / registry / gossip / BucketStoreTest.java
index 39bcd764cda81bcac550b47abc95bf6515b75215..4e3961aac139f653a8886bf5eb18937891df21c9 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.controller.remote.rpc.registry.gossip;
 
+import akka.actor.ActorRef;
 import akka.actor.ActorSystem;
 import akka.actor.Address;
 import akka.actor.Props;
@@ -15,6 +16,7 @@ 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;
@@ -30,10 +32,10 @@ public class BucketStoreTest {
      * @author gwu
      *
      */
-    private static class T implements Copier<T> {
+    private static class T implements BucketData<T> {
         @Override
-        public T copy() {
-            return new T();
+        public Optional<ActorRef> getWatchActor() {
+            return Optional.empty();
         }
     }
 
@@ -59,15 +61,15 @@ public class BucketStoreTest {
         final BucketStore<T> store = createStore();
 
         Address localAddress = system.provider().getDefaultAddress();
-        Bucket<T> localBucket = new BucketImpl<>();
+        Bucket<T> localBucket = new BucketImpl<>(new T());
 
         Address a1 = new Address("tcp", "system1");
         Address a2 = new Address("tcp", "system2");
         Address a3 = new Address("tcp", "system3");
 
-        Bucket<T> b1 = new BucketImpl<>();
-        Bucket<T> b2 = new BucketImpl<>();
-        Bucket<T> b3 = new BucketImpl<>();
+        Bucket<T> b1 = new BucketImpl<>(new T());
+        Bucket<T> b2 = new BucketImpl<>(new T());
+        Bucket<T> b3 = new BucketImpl<>(new T());
 
         Map<Address, Bucket<T>> remoteBuckets = new HashMap<>(3);
         remoteBuckets.put(a1, b1);
@@ -86,7 +88,7 @@ public class BucketStoreTest {
 
         //Add a new remote bucket
         Address a4 = new Address("tcp", "system4");
-        Bucket<T> b4 = new BucketImpl<>();
+        Bucket<T> b4 = new BucketImpl<>(new T());
         remoteBuckets.clear();
         remoteBuckets.put(a4, b4);
         store.receiveUpdateRemoteBuckets(remoteBuckets);
@@ -98,7 +100,7 @@ public class BucketStoreTest {
         Assert.assertTrue(remoteBucketsInStore.size() == 4);
 
         //Update a bucket
-        Bucket<T> b3New = new BucketImpl<>();
+        Bucket<T> b3New = new BucketImpl<>(new T());
         remoteBuckets.clear();
         remoteBuckets.put(a3, b3New);
         remoteBuckets.put(a1, null);
@@ -121,10 +123,10 @@ public class BucketStoreTest {
         //versions map contains versions for all remote buckets (4).
         Map<Address, Long> versionsInStore = store.getVersions();
         Assert.assertEquals(4, versionsInStore.size());
-        Assert.assertEquals(b1.getVersion(), versionsInStore.get(a1));
-        Assert.assertEquals(b2.getVersion(), versionsInStore.get(a2));
-        Assert.assertEquals(b3New.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,7 +136,7 @@ public class BucketStoreTest {
         //Should NOT update a3
         remoteBucketsInStore = store.getRemoteBuckets();
         b3InStore = remoteBucketsInStore.get(a3);
-        Assert.assertTrue(b3InStore.getVersion().longValue() == b3New.getVersion().longValue());
+        Assert.assertEquals(b3InStore.getVersion(), b3New.getVersion());
 
     }
 
@@ -144,7 +146,8 @@ public class BucketStoreTest {
      * @return instance of BucketStore class
      */
     private static BucketStore<T> createStore() {
-        final Props props = Props.create(BucketStore.class, new RemoteRpcProviderConfig(system.settings().config()));
+        final Props props = Props.create(BucketStore.class, new RemoteRpcProviderConfig(system.settings().config()),
+            new T());
         final TestActorRef<BucketStore<T>> testRef = TestActorRef.create(system, props, "testStore");
         return testRef.underlyingActor();
     }