aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StateChangeTest.java
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahoo-inc.com>2017-09-11 15:55:53 +0200
committerTor Brede Vekterli <vekterli@yahoo-inc.com>2017-09-11 15:55:53 +0200
commit93b82bf55a88fd049e4f384d3a50c5859adcaec2 (patch)
tree3525b5c421c167e0cb1e64f7231181a114bc2219 /clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StateChangeTest.java
parentba56b481b95c5dd02c56c894b847ff806b8172c2 (diff)
Move leadership test code into fixture
Diffstat (limited to 'clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StateChangeTest.java')
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StateChangeTest.java33
1 files changed, 22 insertions, 11 deletions
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StateChangeTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StateChangeTest.java
index 959fe4e5afd..24cecd4f5b6 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StateChangeTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StateChangeTest.java
@@ -1329,6 +1329,26 @@ public class StateChangeTest extends FleetControllerTest {
ctrl.tick(); // Cluster state recompute iteration and send
ctrl.tick(); // Iff ACKs were received, process version dependent task(s)
}
+
+ // Only makes sense for tests with more than 1 controller
+ void winLeadership() throws Exception {
+ Map<Integer, Integer> leaderVotes = new HashMap<>();
+ leaderVotes.put(0, 0);
+ leaderVotes.put(1, 0);
+ leaderVotes.put(2, 0);
+ ctrl.handleFleetData(leaderVotes);
+ ctrl.tick();
+ }
+
+ void loseLeadership() throws Exception {
+ // Receive leadership loss event; other nodes not voting for us anymore.
+ Map<Integer, Integer> leaderVotes = new HashMap<>();
+ leaderVotes.put(0, 0);
+ leaderVotes.put(1, 1);
+ leaderVotes.put(2, 1);
+ ctrl.handleFleetData(leaderVotes);
+ ctrl.tick();
+ }
}
private static FleetControllerOptions defaultOptions() {
@@ -1432,12 +1452,7 @@ public class StateChangeTest extends FleetControllerTest {
options.fleetControllerCount = 3;
RemoteTaskFixture fixture = createFixtureWith(options);
- Map<Integer, Integer> leaderVotes = new HashMap<>();
- leaderVotes.put(0, 0);
- leaderVotes.put(1, 0);
- leaderVotes.put(2, 0);
- ctrl.handleFleetData(leaderVotes);
- ctrl.tick();
+ fixture.winLeadership();
markAllNodesAsUp(options);
MockTask task = fixture.scheduleNonIdempotentVersionDependentTask();
@@ -1450,11 +1465,7 @@ public class StateChangeTest extends FleetControllerTest {
assertFalse(task.isCompleted());
assertFalse(task.isLeadershipLost());
- // Receive leadership loss event; other nodes not voting for us anymore.
- leaderVotes.put(1, 1);
- leaderVotes.put(2, 1);
- ctrl.handleFleetData(leaderVotes);
- ctrl.tick();
+ fixture.loseLeadership();
assertTrue(task.isCompleted());
assertTrue(task.isLeadershipLost());