summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-08-17 18:25:47 +0200
committerGitHub <noreply@github.com>2022-08-17 18:25:47 +0200
commit3afeb65d0cfa674a00bc2d63b81ebc2e99b5b62f (patch)
tree5cf49bba057c4be5cc6846a8a595b7ae910ecae1
parenta2e99ea1bb6620ee925e95e5fd4286337469d301 (diff)
parentfa455301e70e1c52a1da943b2afe484879f25292 (diff)
Merge pull request #23693 from vespa-engine/revert-23687-revert-23685-hmusum/add-session-id-to-prepare-and-activate-responses
Reapply "Add session id to response for prepare and activate requests [run-systemtest]"
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionActiveResponse.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareAndActivateResponse.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareResponse.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java23
5 files changed, 15 insertions, 16 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionActiveResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionActiveResponse.java
index 55e640d4ec7..0c8c8946cbc 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionActiveResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionActiveResponse.java
@@ -18,6 +18,7 @@ public class SessionActiveResponse extends SlimeJsonResponse {
Cursor root = metaData.get();
root.setString("tenant", tenantName.value());
+ root.setString("session-id", Long.toString(sessionId));
root.setString("message", message);
root.setString("url", "http://" + request.getHost() + ":" + request.getPort() +
"/application/v2/tenant/" + tenantName +
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareAndActivateResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareAndActivateResponse.java
index e436675fb59..617df3868ab 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareAndActivateResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareAndActivateResponse.java
@@ -25,6 +25,7 @@ public class SessionPrepareAndActivateResponse extends SlimeJsonResponse {
Cursor root = slime.get();
root.setString("tenant", tenantName.value());
+ root.setString("session-id", Long.toString(result.sessionId()));
root.setString("url", "http://" + request.getHost() + ":" + request.getPort() +
"/application/v2/tenant/" + tenantName +
"/application/" + applicationId.application().value() +
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareResponse.java
index 563f50d0012..ac745f833f9 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/response/SessionPrepareResponse.java
@@ -31,6 +31,7 @@ public class SessionPrepareResponse extends SlimeJsonResponse {
Cursor root = deployLog.get().type() != Type.NIX ? deployLog.get() : deployLog.setObject();
root.setString("tenant", tenantName.value());
+ root.setString("session-id", Long.toString(sessionId));
root.setString("activate", "http://" + request.getHost() + ":" + request.getPort() +
"/application/v2/tenant/" + tenantName.value() + "/session/" + sessionId + "/active");
root.setString("message", "Session " + sessionId + " for tenant '" + tenantName.value() + "' prepared.");
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
index 8638a29cf75..1c71ef0b7fb 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java
@@ -155,7 +155,10 @@ public class SessionActiveHandlerTest {
private void assertActivationMessageOK(ActivateRequest activateRequest, String message) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
new JsonFormat(true).encode(byteArrayOutputStream, activateRequest.getMetaData().getSlime());
- assertTrue(message.contains("\"tenant\":\"" + tenantName + "\",\"message\":\"Session " + activateRequest.getSessionId() + activatedMessage));
+ long sessionId = activateRequest.getSessionId();
+ assertTrue(message.contains("\"tenant\":\"" + tenantName));
+ assertTrue(message.contains("\"session-id\":\"" + sessionId));
+ assertTrue(message.contains("\"message\":\"Session " + sessionId + activatedMessage));
assertTrue(message.contains("/application/v2/tenant/" + tenantName +
"/application/" + appName +
"/environment/" + "prod" +
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
index 66da009946e..2b07cffffce 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
@@ -61,7 +61,6 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
private ConfigserverConfig configserverConfig;
private String preparedMessage = " prepared.\"}";
- private String tenantMessage = "";
private TenantRepository tenantRepository;
@Rule
@@ -90,7 +89,6 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
.build();
pathPrefix = "/application/v2/tenant/" + tenant + "/session/";
preparedMessage = " for tenant '" + tenant + "' prepared.\"";
- tenantMessage = ",\"tenant\":\"" + tenant + "\"";
}
@Test
@@ -123,13 +121,16 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
}
@Test
- public void require_that_activate_url_is_returned_on_success() throws Exception {
+ public void require_that_response_has_all_fields() throws Exception {
long sessionId = createSession(applicationId());
HttpResponse response = request(HttpRequest.Method.PUT, sessionId);
assertNotNull(response);
assertEquals(OK, response.getStatus());
- assertResponseContains(response, "\"activate\":\"http://foo:1337" + pathPrefix + sessionId +
- "/active\",\"message\":\"Session " + sessionId + preparedMessage);
+ assertResponseContains(response, "\"activate\":\"http://foo:1337" + pathPrefix + sessionId + "/active\"");
+ assertResponseContains(response, "\"message\":\"Session " + sessionId + preparedMessage);
+ assertResponseContains(response, "\"tenant\":\"" + tenant + "\"");
+ assertResponseContains(response, "\"session-id\":\"" + sessionId + "\"");
+ assertResponseContains(response, "\"log\":[]");
}
@Test
@@ -186,15 +187,6 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
}
@Test
- public void require_that_tenant_is_in_response() throws Exception {
- long sessionId = createSession(applicationId());
- HttpResponse response = request(HttpRequest.Method.PUT, sessionId);
- assertNotNull(response);
- assertEquals(OK, response.getStatus());
- assertResponseContains(response, tenantMessage);
- }
-
- @Test
public void require_that_preparing_with_multiple_tenants_work() throws Exception {
SessionHandler handler = createHandler();
@@ -307,7 +299,8 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
}
private static void assertResponseContains(HttpResponse response, String string) throws IOException {
- assertTrue(SessionHandlerTest.getRenderedString(response).contains(string));
+ String s = SessionHandlerTest.getRenderedString(response);
+ assertTrue(s, s.contains(string));
}
private static void assertResponseNotContains(HttpResponse response, String string) throws IOException {