term-related test additions
Change-Id: I9359ab9a53d73a216a83732612a54154b9655c8c
diff --git a/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java b/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java
index 40902f2..d4a13ab 100644
--- a/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java
+++ b/core/net/src/test/java/org/onlab/onos/cluster/impl/MastershipManagerTest.java
@@ -11,6 +11,7 @@
import org.onlab.onos.cluster.ControllerNode.State;
import org.onlab.onos.cluster.DefaultControllerNode;
import org.onlab.onos.cluster.MastershipService;
+import org.onlab.onos.cluster.MastershipTermService;
import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.event.impl.TestEventDispatcher;
import org.onlab.onos.net.DeviceId;
@@ -100,6 +101,20 @@
assertEquals("should be two devices:", 2, mgr.getDevicesOf(NID_LOCAL).size());
}
+ @Test
+ public void termService() {
+ MastershipTermService ts = mgr.requestTermService();
+
+ //term = 0 for both
+ mgr.setRole(NID_LOCAL, DEV_MASTER, MASTER);
+ assertEquals("inconsistent term: ", 0, ts.getMastershipTerm(DEV_MASTER).termNumber());
+
+ //hand devices to NID_LOCAL and back: term = 2
+ mgr.setRole(NID_OTHER, DEV_MASTER, MASTER);
+ mgr.setRole(NID_LOCAL, DEV_MASTER, MASTER);
+ assertEquals("inconsistent terms: ", 2, ts.getMastershipTerm(DEV_MASTER).termNumber());
+ }
+
private final class TestClusterService implements ClusterService {
ControllerNode local = new DefaultControllerNode(NID_LOCAL, LOCALHOST);