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());
+  }
 }