diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-08-30 08:46:06 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-08-30 08:46:06 +0200 |
commit | 8d32f55ec5fb5066108356bba7d6565cfd9b547c (patch) | |
tree | 91135e8d4a49899b5bff8e4127445017f343f134 /container-core/src/test | |
parent | 114f42cb0ea790bc758b779f8c747184b68bfe2b (diff) |
Revert "Merge pull request #6726 from vespa-engine/revert-6719-bratseth/initially-down"
This reverts commit 05ea4c2b9952bceaf0e009053c2f51a09d15a957, reversing
changes made to 03efdabdc9f0e43fc2c362569ae455a7abc9a64b.
Diffstat (limited to 'container-core/src/test')
-rw-r--r-- | container-core/src/test/java/com/yahoo/container/handler/VipStatusHandlerTestCase.java | 104 | ||||
-rw-r--r-- | container-core/src/test/java/com/yahoo/container/handler/VipStatusTestCase.java | 13 |
2 files changed, 62 insertions, 55 deletions
diff --git a/container-core/src/test/java/com/yahoo/container/handler/VipStatusHandlerTestCase.java b/container-core/src/test/java/com/yahoo/container/handler/VipStatusHandlerTestCase.java index ef51a3c0f51..f8de32ee3ff 100644 --- a/container-core/src/test/java/com/yahoo/container/handler/VipStatusHandlerTestCase.java +++ b/container-core/src/test/java/com/yahoo/container/handler/VipStatusHandlerTestCase.java @@ -35,16 +35,16 @@ import static org.junit.Assert.fail; * care about the incoming URI, that's 100% handled in JDIsc by the binding * pattern. * - * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a> + * @author Steinar Knutsen */ public class VipStatusHandlerTestCase { - public static final class MockResponseHandler implements ResponseHandler { + public static class MockResponseHandler implements ResponseHandler { + final ReadableContentChannel channel = new ReadableContentChannel(); @Override - public ContentChannel handleResponse( - final com.yahoo.jdisc.Response response) { + public ContentChannel handleResponse(com.yahoo.jdisc.Response response) { return channel; } } @@ -52,45 +52,44 @@ public class VipStatusHandlerTestCase { Metric metric = Mockito.mock(Metric.class); @Test - public final void testHandleRequest() { - final VipStatusConfig config = new VipStatusConfig(new VipStatusConfig.Builder().accessdisk(false) + public void testHandleRequest() { + VipStatusConfig config = new VipStatusConfig(new VipStatusConfig.Builder().accessdisk(false) .noSearchBackendsImpliesOutOfService(false)); - final VipStatusHandler handler = new VipStatusHandler(Executors.newCachedThreadPool(), config, metric); - final MockResponseHandler responseHandler = new MockResponseHandler(); - final HttpRequest request = createRequest(); - final BufferedContentChannel requestContent = createChannel(); + VipStatusHandler handler = new VipStatusHandler(Executors.newCachedThreadPool(), config, metric); + MockResponseHandler responseHandler = new MockResponseHandler(); + HttpRequest request = createRequest(); + BufferedContentChannel requestContent = createChannel(); handler.handleRequest(request, requestContent, responseHandler); - final ByteBuffer b = responseHandler.channel.read(); - final byte[] asBytes = new byte[b.remaining()]; + ByteBuffer b = responseHandler.channel.read(); + byte[] asBytes = new byte[b.remaining()]; b.get(asBytes); assertEquals(VipStatusHandler.OK_MESSAGE, Utf8.toString(asBytes)); } - public static final class NotFoundResponseHandler implements - ResponseHandler { + public static class NotFoundResponseHandler implements ResponseHandler { + final ReadableContentChannel channel = new ReadableContentChannel(); @Override - public ContentChannel handleResponse( - final com.yahoo.jdisc.Response response) { - assertEquals(com.yahoo.jdisc.Response.Status.NOT_FOUND, - response.getStatus()); + public ContentChannel handleResponse(com.yahoo.jdisc.Response response) { + assertEquals(com.yahoo.jdisc.Response.Status.NOT_FOUND, response.getStatus()); return channel; } + } @Test - public final void testFileNotFound() { - final VipStatusConfig config = new VipStatusConfig(new VipStatusConfig.Builder().accessdisk(true) + public void testFileNotFound() { + VipStatusConfig config = new VipStatusConfig(new VipStatusConfig.Builder().accessdisk(true) .statusfile("/VipStatusHandlerTestCaseFileThatReallyReallyShouldNotExist") .noSearchBackendsImpliesOutOfService(false)); - final VipStatusHandler handler = new VipStatusHandler(Executors.newCachedThreadPool(), config, metric); - final NotFoundResponseHandler responseHandler = new NotFoundResponseHandler(); - final HttpRequest request = createRequest(); - final BufferedContentChannel requestContent = createChannel(); + VipStatusHandler handler = new VipStatusHandler(Executors.newCachedThreadPool(), config, metric); + NotFoundResponseHandler responseHandler = new NotFoundResponseHandler(); + HttpRequest request = createRequest(); + BufferedContentChannel requestContent = createChannel(); handler.handleRequest(request, requestContent, responseHandler); - final ByteBuffer b = responseHandler.channel.read(); - final byte[] asBytes = new byte[b.remaining()]; + ByteBuffer b = responseHandler.channel.read(); + byte[] asBytes = new byte[b.remaining()]; b.get(asBytes); assertEquals( VipStatusHandler.StatusResponse.COULD_NOT_FIND_STATUS_FILE, @@ -98,23 +97,22 @@ public class VipStatusHandlerTestCase { } @Test - public final void testFileFound() throws IOException { - final File statusFile = File.createTempFile("VipStatusHandlerTestCase", - null); + public void testFileFound() throws IOException { + File statusFile = File.createTempFile("VipStatusHandlerTestCase", null); try { - final FileWriter writer = new FileWriter(statusFile); - final String OK = "OK\n"; + FileWriter writer = new FileWriter(statusFile); + String OK = "OK\n"; writer.write(OK); writer.close(); - final VipStatusConfig config = new VipStatusConfig(new VipStatusConfig.Builder().accessdisk(true) + VipStatusConfig config = new VipStatusConfig(new VipStatusConfig.Builder().accessdisk(true) .statusfile(statusFile.getAbsolutePath()).noSearchBackendsImpliesOutOfService(false)); - final VipStatusHandler handler = new VipStatusHandler(Executors.newCachedThreadPool(), config, metric); - final MockResponseHandler responseHandler = new MockResponseHandler(); - final HttpRequest request = createRequest(); - final BufferedContentChannel requestContent = createChannel(); + VipStatusHandler handler = new VipStatusHandler(Executors.newCachedThreadPool(), config, metric); + MockResponseHandler responseHandler = new MockResponseHandler(); + HttpRequest request = createRequest(); + BufferedContentChannel requestContent = createChannel(); handler.handleRequest(request, requestContent, responseHandler); - final ByteBuffer b = responseHandler.channel.read(); - final byte[] asBytes = new byte[b.remaining()]; + ByteBuffer b = responseHandler.channel.read(); + byte[] asBytes = new byte[b.remaining()]; b.get(asBytes); assertEquals(OK, Utf8.toString(asBytes)); } finally { @@ -123,34 +121,34 @@ public class VipStatusHandlerTestCase { } @Test - public final void testProgrammaticallyRemovedFromRotation() throws IOException { + public void testExplicitlyRotationControl() { VipStatus vipStatus = new VipStatus(); - final VipStatusConfig config = new VipStatusConfig(new VipStatusConfig.Builder().accessdisk(false) + VipStatusConfig config = new VipStatusConfig(new VipStatusConfig.Builder().accessdisk(false) .noSearchBackendsImpliesOutOfService(true)); - final VipStatusHandler handler = new VipStatusHandler(Executors.newCachedThreadPool(), config, metric, vipStatus); + VipStatusHandler handler = new VipStatusHandler(Executors.newCachedThreadPool(), config, metric, vipStatus); - vipStatus.removeFromRotation(this); + vipStatus.setInRotation(false); { - final MockResponseHandler responseHandler = new MockResponseHandler(); - final HttpRequest request = createRequest(); - final BufferedContentChannel requestContent = createChannel(); + MockResponseHandler responseHandler = new MockResponseHandler(); + HttpRequest request = createRequest(); + BufferedContentChannel requestContent = createChannel(); handler.handleRequest(request, requestContent, responseHandler); - final ByteBuffer b = responseHandler.channel.read(); - final byte[] asBytes = new byte[b.remaining()]; + ByteBuffer b = responseHandler.channel.read(); + byte[] asBytes = new byte[b.remaining()]; b.get(asBytes); assertEquals(VipStatusHandler.StatusResponse.NO_SEARCH_BACKENDS, Utf8.toString(asBytes)); } - vipStatus.addToRotation(this); + vipStatus.setInRotation(true); { - final MockResponseHandler responseHandler = new MockResponseHandler(); - final HttpRequest request = createRequest(); - final BufferedContentChannel requestContent = createChannel(); + MockResponseHandler responseHandler = new MockResponseHandler(); + HttpRequest request = createRequest(); + BufferedContentChannel requestContent = createChannel(); handler.handleRequest(request, requestContent, responseHandler); - final ByteBuffer b = responseHandler.channel.read(); - final byte[] asBytes = new byte[b.remaining()]; + ByteBuffer b = responseHandler.channel.read(); + byte[] asBytes = new byte[b.remaining()]; b.get(asBytes); assertEquals(VipStatusHandler.OK_MESSAGE, Utf8.toString(asBytes)); } diff --git a/container-core/src/test/java/com/yahoo/container/handler/VipStatusTestCase.java b/container-core/src/test/java/com/yahoo/container/handler/VipStatusTestCase.java index 725f8256ba3..e54f968f41d 100644 --- a/container-core/src/test/java/com/yahoo/container/handler/VipStatusTestCase.java +++ b/container-core/src/test/java/com/yahoo/container/handler/VipStatusTestCase.java @@ -13,13 +13,22 @@ import org.junit.Test; public class VipStatusTestCase { @Test - public final void testSmoke() { + public void testVipStatusWorksWithClusters() { + ClustersStatus clustersStatus = new ClustersStatus(); + clustersStatus.setContainerHasClusters(true); + VipStatus v = new VipStatus(clustersStatus); + Object cluster1 = new Object(); Object cluster2 = new Object(); Object cluster3 = new Object(); - VipStatus v = new VipStatus(); + // initial state + assertFalse(v.isInRotation()); + + // one cluster becomes up + v.addToRotation(cluster1); assertTrue(v.isInRotation()); + // all clusters down v.removeFromRotation(cluster1); v.removeFromRotation(cluster2); |