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) {