MasteshipService, store, and CLI commands use RoleInfo
Change-Id: Ibc569498a67d33d088e5c9f89c6bb1f45eadc26e
diff --git a/core/api/src/test/java/org/onlab/onos/cluster/RoleInfoTest.java b/core/api/src/test/java/org/onlab/onos/cluster/RoleInfoTest.java
new file mode 100644
index 0000000..46ab02e
--- /dev/null
+++ b/core/api/src/test/java/org/onlab/onos/cluster/RoleInfoTest.java
@@ -0,0 +1,39 @@
+package org.onlab.onos.cluster;
+
+import java.util.List;
+
+import org.junit.Test;
+
+import com.google.common.collect.Lists;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
+/**
+ * Test to check behavioral correctness of the RoleInfo structure.
+ */
+public class RoleInfoTest {
+ private static final NodeId N1 = new NodeId("n1");
+ private static final NodeId N2 = new NodeId("n2");
+ private static final NodeId N3 = new NodeId("n3");
+ private static final NodeId N4 = new NodeId("n4");
+
+ private static final List<NodeId> BKUP1 = Lists.newArrayList(N2, N3);
+ private static final List<NodeId> BKUP2 = Lists.newArrayList(N3, N4);
+
+ private static final RoleInfo RI1 = new RoleInfo(N1, BKUP1);
+ private static final RoleInfo RI2 = new RoleInfo(N1, BKUP2);
+ private static final RoleInfo RI3 = new RoleInfo(N2, BKUP1);
+
+ @Test
+ public void basics() {
+ assertEquals("wrong master", new NodeId("n1"), RI1.master());
+ assertEquals("wrong Backups", RI1.backups(), Lists.newArrayList(N2, N3));
+
+ assertNotEquals("equals() broken", RI1, RI2);
+ assertNotEquals("equals() broken", RI1, RI3);
+
+ List<NodeId> bkup3 = Lists.newArrayList(N3, new NodeId("n4"));
+ assertEquals("equals() broken", new RoleInfo(N1, bkup3), RI2);
+ }
+}
diff --git a/core/api/src/test/java/org/onlab/onos/mastership/MastershipServiceAdapter.java b/core/api/src/test/java/org/onlab/onos/mastership/MastershipServiceAdapter.java
index af376e8..8169dfb 100644
--- a/core/api/src/test/java/org/onlab/onos/mastership/MastershipServiceAdapter.java
+++ b/core/api/src/test/java/org/onlab/onos/mastership/MastershipServiceAdapter.java
@@ -1,10 +1,10 @@
package org.onlab.onos.mastership;
import org.onlab.onos.cluster.NodeId;
+import org.onlab.onos.cluster.RoleInfo;
import org.onlab.onos.net.DeviceId;
import org.onlab.onos.net.MastershipRole;
-import java.util.List;
import java.util.Set;
/**
@@ -49,7 +49,7 @@
}
@Override
- public List<NodeId> getNodesFor(DeviceId deviceId) {
+ public RoleInfo getNodesFor(DeviceId deviceId) {
return null;
}
}