summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--http-client/src/main/java/ai/vespa/hosted/client/MockHttpClient.java6
-rw-r--r--orchestrator/src/main/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImpl.java6
-rw-r--r--orchestrator/src/test/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImplTest.java8
3 files changed, 11 insertions, 9 deletions
diff --git a/http-client/src/main/java/ai/vespa/hosted/client/MockHttpClient.java b/http-client/src/main/java/ai/vespa/hosted/client/MockHttpClient.java
index 6c2a882f990..97ef58ea76d 100644
--- a/http-client/src/main/java/ai/vespa/hosted/client/MockHttpClient.java
+++ b/http-client/src/main/java/ai/vespa/hosted/client/MockHttpClient.java
@@ -57,9 +57,11 @@ public class MockHttpClient extends AbstractHttpClient {
public void expect(BiFunction<HttpURL, String, String> mapper, int status) {
expect(request -> {
try {
- BasicClassicHttpResponse response = new BasicClassicHttpResponse(status);
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
- request.getEntity().writeTo(buffer);
+ if (request.getEntity() != null)
+ request.getEntity().writeTo(buffer);
+
+ BasicClassicHttpResponse response = new BasicClassicHttpResponse(status);
response.setEntity(HttpEntities.create(mapper.apply(HttpURL.from(request.getUri()), buffer.toString(UTF_8)),
ContentType.APPLICATION_JSON));
return response;
diff --git a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImpl.java b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImpl.java
index 7c7dca3b03e..37a690bd2bd 100644
--- a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImpl.java
+++ b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImpl.java
@@ -142,9 +142,9 @@ public class ClusterControllerClientImpl implements ClusterControllerClient {
static byte[] stateChangeRequestBytes(ClusterControllerNodeState wantedState, Condition condition, boolean isProbe) {
Cursor root = new Slime().setObject();
- Cursor stateObject = root.setObject("user");
- stateObject.setString("reason", REQUEST_REASON);
- stateObject.setString("state", wantedState.getWireName());
+ Cursor userObject = root.setObject("state").setObject("user");
+ userObject.setString("reason", REQUEST_REASON);
+ userObject.setString("state", wantedState.getWireName());
root.setString("condition", condition.name());
if (isProbe) root.setBool("probe", true);
return Exceptions.uncheck(() -> SlimeUtils.toJsonBytes(root));
diff --git a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImplTest.java b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImplTest.java
index 2570a8035bb..b8e078c60d4 100644
--- a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImplTest.java
+++ b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/controller/ClusterControllerClientImplTest.java
@@ -61,7 +61,7 @@ public class ClusterControllerClientImplTest {
wire.expect((url, body) -> {
assertEquals("http://host1:19050/cluster/v2/cc/storage/2?timeout=9.6",
url.asURI().toString());
- assertEquals("{\"user\":{\"reason\":\"Orchestrator\",\"state\":\"down\"},\"condition\":\"SAFE\"}",
+ assertEquals("{\"state\":{\"user\":{\"reason\":\"Orchestrator\",\"state\":\"down\"}},\"condition\":\"SAFE\"}",
body);
return "{ \"wasModified\": true }";
},
@@ -72,7 +72,7 @@ public class ClusterControllerClientImplTest {
wire.expect((url, body) -> {
assertEquals("http://host1:19050/cluster/v2/cc/storage/1?timeout=0.6",
url.asURI().toString());
- assertEquals("{\"user\":{\"reason\":\"Orchestrator\",\"state\":\"down\"},\"condition\":\"SAFE\"}",
+ assertEquals("{\"state\":{\"user\":{\"reason\":\"Orchestrator\",\"state\":\"down\"}},\"condition\":\"SAFE\"}",
body);
return "{ \"wasModified\": false, \"reason\": \"because\" }";
},
@@ -88,7 +88,7 @@ public class ClusterControllerClientImplTest {
wire.expect((url, body) -> {
assertEquals("http://host1:19050/cluster/v2/cc/storage/2?timeout=59.6",
url.asURI().toString());
- assertEquals("{\"user\":{\"reason\":\"Orchestrator\",\"state\":\"maintenance\"},\"condition\":\"SAFE\",\"probe\":true}",
+ assertEquals("{\"state\":{\"user\":{\"reason\":\"Orchestrator\",\"state\":\"maintenance\"}},\"condition\":\"SAFE\",\"probe\":true}",
body);
return "{ \"wasModified\": false, \"reason\": \"no reason\" }";
},
@@ -101,7 +101,7 @@ public class ClusterControllerClientImplTest {
wire.expect((url, body) -> {
assertEquals("http://host1:19050/cluster/v2/cc?timeout=299.6",
url.asURI().toString());
- assertEquals("{\"user\":{\"reason\":\"Orchestrator\",\"state\":\"up\"},\"condition\":\"FORCE\"}",
+ assertEquals("{\"state\":{\"user\":{\"reason\":\"Orchestrator\",\"state\":\"up\"}},\"condition\":\"FORCE\"}",
body);
return "{ \"message\": \":<\" }";
},