Merge branch 'stable-3.2' into stable-3.3
* stable-3.2:
Honour plugin name in URI on Gerrit replica
Change-Id: Id37a92bc244a29e52073e7f4a399fe2a9f36d1d0
diff --git a/src/main/java/com/googlesource/gerrit/plugins/healthcheck/filter/HealthCheckStatusFilter.java b/src/main/java/com/googlesource/gerrit/plugins/healthcheck/filter/HealthCheckStatusFilter.java
index b2e91b1..75e48fd 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/healthcheck/filter/HealthCheckStatusFilter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/healthcheck/filter/HealthCheckStatusFilter.java
@@ -14,6 +14,7 @@
package com.googlesource.gerrit.plugins.healthcheck.filter;
+import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.extensions.restapi.Response;
import com.google.gerrit.httpd.AllRequestFilter;
import com.google.gerrit.httpd.restapi.RestApiServlet;
@@ -35,11 +36,14 @@
public class HealthCheckStatusFilter extends AllRequestFilter {
private final HealthCheckStatusEndpoint statusEndpoint;
private final Gson gson;
+ private final String pluginName;
@Inject
- public HealthCheckStatusFilter(HealthCheckStatusEndpoint statusEndpoint) {
+ public HealthCheckStatusFilter(
+ HealthCheckStatusEndpoint statusEndpoint, @PluginName String pluginName) {
this.statusEndpoint = statusEndpoint;
this.gson = OutputFormat.JSON.newGsonBuilder().create();
+ this.pluginName = pluginName;
}
@Override
@@ -61,7 +65,9 @@
}
private boolean isStatusCheck(HttpServletRequest httpServletRequest) {
- return httpServletRequest.getRequestURI().matches("(?:/a)?/config/server/healthcheck~status");
+ return httpServletRequest
+ .getRequestURI()
+ .matches("(?:/a)?/config/server/" + pluginName + "~status");
}
private void doStatusCheck(HttpServletResponse httpResponse) throws ServletException {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/HealthCheckIT.java b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/HealthCheckIT.java
index e409917..a372509 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/HealthCheckIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/HealthCheckIT.java
@@ -26,8 +26,10 @@
import com.google.gerrit.acceptance.Sandboxed;
import com.google.gerrit.acceptance.TestPlugin;
import com.google.gerrit.acceptance.config.GerritConfig;
+import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
+import com.google.inject.Key;
import com.googlesource.gerrit.plugins.healthcheck.check.HealthCheckNames;
import java.io.IOException;
import org.eclipse.jgit.errors.ConfigInvalidException;
@@ -35,13 +37,14 @@
import org.junit.Test;
@TestPlugin(
- name = "healthcheck",
+ name = "healthcheck-test",
sysModule = "com.googlesource.gerrit.plugins.healthcheck.Module",
httpModule = "com.googlesource.gerrit.plugins.healthcheck.HttpModule")
@Sandboxed
public class HealthCheckIT extends LightweightPluginDaemonTest {
Gson gson = new Gson();
HealthCheckConfig config;
+ String healthCheckUriPath;
@Override
@Before
@@ -54,6 +57,11 @@
createChange("refs/for/master");
}
accountCreator.create(config.getUsername(HealthCheckNames.AUTH));
+
+ healthCheckUriPath =
+ String.format(
+ "/config/server/%s~status",
+ plugin.getSysInjector().getInstance(Key.get(String.class, PluginName.class)));
}
@Test
@@ -182,11 +190,11 @@
}
private RestResponse getHealthCheckStatus() throws IOException {
- return adminRestSession.get("/config/server/healthcheck~status");
+ return adminRestSession.get(healthCheckUriPath);
}
private RestResponse getHealthCheckStatusAnonymously() throws IOException {
- return anonymousRestSession.get("/config/server/healthcheck~status");
+ return anonymousRestSession.get(healthCheckUriPath);
}
private void assertCheckResult(JsonObject respPayload, String checkName, String result) {