aboutsummaryrefslogtreecommitdiffstats
path: root/zookeeper-server/zookeeper-server-common/src/test
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-02-19 12:30:30 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-02-19 12:34:16 +0100
commit896879291572a2de2d421acf552bbf272f8bc44a (patch)
tree8aff17203bf3c606ed8f84497384891c41a7c838 /zookeeper-server/zookeeper-server-common/src/test
parent1d1390fcfad2ace92795e47a15513a90d493cc95 (diff)
Move ownership of QuorumPeer to Recoonfigurer
Diffstat (limited to 'zookeeper-server/zookeeper-server-common/src/test')
-rw-r--r--zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java
index 5cee0de2b6e..a2a3fc0a39f 100644
--- a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java
+++ b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java
@@ -14,10 +14,13 @@ import java.io.IOException;
import java.nio.file.Path;
import java.time.Duration;
import java.util.Arrays;
+import java.util.concurrent.atomic.AtomicBoolean;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
/**
* Tests dynamic reconfiguration of zookeeper cluster.
@@ -136,9 +139,16 @@ public class ReconfigurerTest {
return builder;
}
+ private static class MockQuorumPeer implements QuorumPeer {
+ final AtomicBoolean on = new AtomicBoolean();
+ @Override public void start(Path path) { assertFalse(on.getAndSet(true)); }
+ @Override public void shutdown(Duration timeout) { assertTrue(on.getAndSet(false)); }
+ }
+
private static class TestableReconfigurer extends Reconfigurer implements VespaZooKeeperServer {
private final TestableVespaZooKeeperAdmin zooKeeperAdmin;
+ private QuorumPeer serverPeer;
TestableReconfigurer(TestableVespaZooKeeperAdmin zooKeeperAdmin) {
super(zooKeeperAdmin, new Sleeper() {
@@ -152,7 +162,7 @@ public class ReconfigurerTest {
}
void startOrReconfigure(ZookeeperServerConfig newConfig) {
- startOrReconfigure(newConfig, this);
+ startOrReconfigure(newConfig, this, MockQuorumPeer::new, peer -> serverPeer = peer);
}
String connectionSpec() {
@@ -172,10 +182,10 @@ public class ReconfigurerTest {
}
@Override
- public void shutdown() {}
+ public void shutdown() { serverPeer.shutdown(Duration.ofSeconds(1)); }
@Override
- public void start(Path configFilePath) { }
+ public void start(Path configFilePath) { serverPeer.start(configFilePath); }
@Override
public boolean reconfigurable() {