Assume replication lag is enabled with ReplicationStatusServletIT The ReplicationStatusServletIT tests are implicitly assuming that the replication lag is enabled in the multi-site configuration. Make the assumption explicit so that if that's not the case, the tests are not failing because of the lack of the replication status servlet registration. Change-Id: Ia594884ccb17e9995bf967a97d7c0dd6436f9bd8
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/http/ReplicationStatusServletIT.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/http/ReplicationStatusServletIT.java index f940fc4..80c3d8a 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/multisite/http/ReplicationStatusServletIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/http/ReplicationStatusServletIT.java
@@ -17,6 +17,7 @@ import static com.google.common.net.HttpHeaders.CONTENT_TYPE; import static com.google.common.truth.Truth.assertThat; import static com.googlesource.gerrit.plugins.multisite.http.HttpModule.LAG_ENDPOINT_SEGMENT; +import static org.junit.Assume.assumeTrue; import com.gerritforge.gerrit.globalrefdb.validation.Log4jSharedRefLogger; import com.gerritforge.gerrit.globalrefdb.validation.SharedRefDbConfiguration; @@ -32,6 +33,7 @@ import com.google.inject.Inject; import com.google.inject.Scopes; import com.google.inject.multibindings.OptionalBinder; +import com.googlesource.gerrit.plugins.multisite.Configuration; import com.googlesource.gerrit.plugins.multisite.Log4jProjectVersionLogger; import com.googlesource.gerrit.plugins.multisite.ProjectVersionLogger; import com.googlesource.gerrit.plugins.multisite.cache.CacheModule; @@ -57,6 +59,7 @@ private static final String LAG_ENDPOINT = String.format("/plugins/multi-site/%s", LAG_ENDPOINT_SEGMENT); private ReplicationStatus replicationStatus; + private Configuration multiSiteConfig; public static class TestModule extends AbstractModule { @Inject WorkQueue workQueue; @@ -83,11 +86,13 @@ @Before public void setUp() throws IOException { replicationStatus = plugin.getSysInjector().getInstance(ReplicationStatus.class); + multiSiteConfig = plugin.getSysInjector().getInstance(Configuration.class); } @Test @GerritConfig(name = "gerrit.instanceId", value = "testInstanceId") public void shouldSucceedForAdminUsers() throws Exception { + assumeReplicationLagEnabled(); RestResponse result = adminRestSession.get(LAG_ENDPOINT); result.assertOK(); @@ -97,6 +102,7 @@ @Test @GerritConfig(name = "gerrit.instanceId", value = "testInstanceId") public void shouldFailWhenUserHasNoAdminServerCapability() throws Exception { + assumeReplicationLagEnabled(); RestResponse result = userRestSession.get(LAG_ENDPOINT); result.assertForbidden(); assertThat(result.getEntityContent()).contains("not permitted"); @@ -105,6 +111,7 @@ @Test @GerritConfig(name = "gerrit.instanceId", value = "testInstanceId") public void shouldReturnCurrentProjectLag() throws Exception { + assumeReplicationLagEnabled(); replicationStatus.doUpdateLag(Project.nameKey("foo"), 123L); RestResponse result = adminRestSession.get(LAG_ENDPOINT); @@ -116,6 +123,7 @@ @Test @GerritConfig(name = "gerrit.instanceId", value = "testInstanceId") public void shouldReturnProjectsOrderedDescendinglyByLag() throws Exception { + assumeReplicationLagEnabled(); replicationStatus.doUpdateLag(Project.nameKey("bar"), 123L); replicationStatus.doUpdateLag(Project.nameKey("foo"), 3L); replicationStatus.doUpdateLag(Project.nameKey("baz"), 52300L); @@ -129,6 +137,7 @@ @Test @GerritConfig(name = "gerrit.instanceId", value = "testInstanceId") public void shouldHonourTheLimitParameter() throws Exception { + assumeReplicationLagEnabled(); replicationStatus.doUpdateLag(Project.nameKey("bar"), 1L); replicationStatus.doUpdateLag(Project.nameKey("foo"), 2L); replicationStatus.doUpdateLag(Project.nameKey("baz"), 3L); @@ -142,4 +151,10 @@ private String contentWithoutMagicJson(RestResponse response) throws IOException { return response.getEntityContent().substring(RestApiServlet.JSON_MAGIC.length); } + + private void assumeReplicationLagEnabled() { + assumeTrue( + "Replication status skipped as replication lag is disabled", + multiSiteConfig.replicationLagEnabled()); + } }