summaryrefslogtreecommitdiffstats
path: root/container-core/src/test
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-08-30 08:46:06 +0200
committerJon Bratseth <bratseth@oath.com>2018-08-30 08:46:06 +0200
commit8d32f55ec5fb5066108356bba7d6565cfd9b547c (patch)
tree91135e8d4a49899b5bff8e4127445017f343f134 /container-core/src/test
parent114f42cb0ea790bc758b779f8c747184b68bfe2b (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.java104
-rw-r--r--container-core/src/test/java/com/yahoo/container/handler/VipStatusTestCase.java13
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);