aboutsummaryrefslogtreecommitdiffstats
path: root/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2
diff options
context:
space:
mode:
authorArnstein Ressem <aressem@gmail.com>2021-03-12 13:58:06 +0100
committerGitHub <noreply@github.com>2021-03-12 13:58:06 +0100
commit0394a2a4430ee34ea7cafe03c98592199eda492f (patch)
tree65acd8c44c09f0e00c03e85751fff733d95bccb9 /clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2
parent5fc288ac15612f400879f7278d588541fe8257a4 (diff)
Revert "GC unused DiskState"
Diffstat (limited to 'clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2')
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NotMasterTest.java14
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/PartitionTest.java49
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/SetNodeStateTest.java10
3 files changed, 73 insertions, 0 deletions
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NotMasterTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NotMasterTest.java
index b0355844341..4ec5893c1e7 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NotMasterTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NotMasterTest.java
@@ -54,6 +54,12 @@ public class NotMasterTest extends StateRestApiTest {
assertTrue(e.getMessage(), e.getMessage().contains("No known master cluster controller"));
}
try{
+ restAPI.getState(new StateRequest("music/storage/1/0", 0));
+ fail();
+ } catch (UnknownMasterException e) {
+ assertTrue(e.getMessage(), e.getMessage().contains("No known master cluster controller"));
+ }
+ try{
restAPI.setUnitState(new SetNodeStateTest.SetUnitStateRequestImpl("music/storage/1")
.setNewState("user", "down", "test"));
fail();
@@ -112,6 +118,14 @@ public class NotMasterTest extends StateRestApiTest {
assertEquals(e.getPort(), getDefaults().vespaWebServicePort());
}
try{
+ restAPI.getState(new StateRequest("music/storage/1/0", 0));
+ fail();
+ } catch (OtherMasterException e) {
+ assertTrue(e.getMessage(), e.getMessage().contains("Cluster controller not master. Use master at otherhost:" + getDefaults().vespaWebServicePort() + "."));
+ assertEquals("otherhost", e.getHost());
+ assertEquals(e.getPort(), getDefaults().vespaWebServicePort());
+ }
+ try{
restAPI.setUnitState(new SetNodeStateTest.SetUnitStateRequestImpl("music/storage/1")
.setNewState("user", "down", "test"));
fail();
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/PartitionTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/PartitionTest.java
new file mode 100644
index 00000000000..106803ec3f1
--- /dev/null
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/PartitionTest.java
@@ -0,0 +1,49 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.clustercontroller.core.restapiv2;
+
+import com.yahoo.vespa.clustercontroller.utils.staterestapi.response.UnitResponse;
+import org.codehaus.jettison.json.JSONObject;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class PartitionTest extends StateRestApiTest {
+
+ @Test
+ public void testPartition() throws Exception {
+ setUp(true);
+ UnitResponse response = restAPI.getState(new StateRequest("music/storage/1/0", 0));
+ String expected =
+ "{\n" +
+ " \"state\": {\"generated\": {\n" +
+ " \"state\": \"up\",\n" +
+ " \"reason\": \"\"\n" +
+ " }},\n" +
+ " \"metrics\": {\n" +
+ " \"bucket-count\": 1,\n" +
+ " \"unique-document-count\": 2,\n" +
+ " \"unique-document-total-size\": 3\n" +
+ " }\n" +
+ "}";
+ assertEquals(expected, jsonWriter.createJson(response).toString(2));
+ }
+
+ @Test
+ public void testRecursiveCluster() throws Exception {
+ setUp(true);
+ UnitResponse response = restAPI.getState(new StateRequest("music/storage/1/0", 1));
+ String expected =
+ "{\n" +
+ " \"state\": {\"generated\": {\n" +
+ " \"state\": \"up\",\n" +
+ " \"reason\": \"\"\n" +
+ " }},\n" +
+ " \"metrics\": {\n" +
+ " \"bucket-count\": 1,\n" +
+ " \"unique-document-count\": 2,\n" +
+ " \"unique-document-total-size\": 3\n" +
+ " }\n" +
+ "}";
+ assertEquals(expected, jsonWriter.createJson(response).toString(2));
+ }
+}
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/SetNodeStateTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/SetNodeStateTest.java
index 0e9a4808e9b..03fdb15971f 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/SetNodeStateTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/SetNodeStateTest.java
@@ -366,6 +366,16 @@ public class SetNodeStateTest extends StateRestApiTest {
} catch (OperationNotSupportedForUnitException e) {
assertTrue(e.getMessage(), e.getMessage().contains(wrongUnitMessage));
}
+
+ // ... setting at node-level is allowed
+
+ try{
+ restAPI.setUnitState(new SetUnitStateRequestImpl(
+ "music/storage/1/0").setNewState("user", "down", "testing"));
+ fail();
+ } catch (OperationNotSupportedForUnitException e) {
+ assertTrue(e.getMessage(), e.getMessage().contains(wrongUnitMessage));
+ }
}
@Test