diff --git a/src/test/java/com/google/gerrit/acceptance/AbstractGitDaemonTest.java b/src/test/java/com/google/gerrit/acceptance/AbstractGitDaemonTest.java
index 6fe0218..40995f5 100644
--- a/src/test/java/com/google/gerrit/acceptance/AbstractGitDaemonTest.java
+++ b/src/test/java/com/google/gerrit/acceptance/AbstractGitDaemonTest.java
@@ -16,9 +16,6 @@
 
 import static com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate.allowCapability;
 
-import com.google.gerrit.acceptance.AbstractDaemonTest;
-import com.google.gerrit.acceptance.GitUtil;
-import com.google.gerrit.acceptance.TestAccount;
 import com.google.gerrit.acceptance.testsuite.project.ProjectOperations;
 import com.google.gerrit.acceptance.testsuite.request.RequestScopeOperations;
 import com.google.gerrit.entities.AccountGroup;
@@ -46,7 +43,7 @@
 import org.eclipse.jgit.transport.FetchResult;
 import org.eclipse.jgit.util.FS;
 
-abstract class AbstractGitDaemonTest extends AbstractDaemonTest {
+public abstract class AbstractGitDaemonTest extends AbstractDaemonTest {
   private static final String REFS_CHANGES = "+refs/changes/*:refs/remotes/origin/*";
 
   @Inject private RequestScopeOperations requestScopeOperations;
@@ -116,7 +113,7 @@
             .setFS(fs)
             .build();
     Config cfg = dest.getConfig();
-    String uri = registerRepoConnection(project, testAccount);
+    String uri = registerAndGetRepoConnection(project, testAccount);
     cfg.setString("remote", "origin", "url", uri);
     cfg.setString("remote", "origin", "fetch", refsSpec);
     TestRepository<InMemoryRepository> testRepo = GitUtil.newTestRepository(dest);
@@ -154,4 +151,8 @@
       projectCache.evict(project);
     }
   }
+
+  protected String registerAndGetRepoConnection(Project.NameKey p, TestAccount testAccount) throws Exception {
+    return registerRepoConnection(p, testAccount);
+  }
 }
diff --git a/src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterProtocolV2IT.java b/src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterProtocolV2IT.java
index 0d56ec8..9312cd6 100644
--- a/src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterProtocolV2IT.java
+++ b/src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterProtocolV2IT.java
@@ -23,6 +23,7 @@
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.io.ByteStreams;
+import com.google.gerrit.acceptance.AbstractGitDaemonTest;
 import com.google.gerrit.acceptance.GitClientVersion;
 import com.google.gerrit.acceptance.UseLocalDisk;
 import com.google.gerrit.acceptance.UseSsh;
diff --git a/src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterTest.java b/src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterTest.java
index 7663d76..4663115 100644
--- a/src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterTest.java
+++ b/src/test/java/com/googlesource/gerrit/libmodule/plugins/test/GitRefsFilterTest.java
@@ -20,6 +20,7 @@
 import static com.googlesource.gerrit.modules.gitrefsfilter.OpenChangesCache.OPEN_CHANGES_CACHE;
 
 import com.google.common.cache.LoadingCache;
+import com.google.gerrit.acceptance.AbstractGitDaemonTest;
 import com.google.gerrit.acceptance.GitUtil;
 import com.google.gerrit.acceptance.NoHttpd;
 import com.google.gerrit.acceptance.Sandboxed;
@@ -250,7 +251,7 @@
     InMemoryRepository dest =
         new InMemoryRepository.Builder().setRepositoryDescription(desc).setFS(fs).build();
     Config cfg = dest.getConfig();
-    String uri = registerRepoConnection(project, testAccount);
+    String uri = registerAndGetRepoConnection(project, testAccount);
     cfg.setString("remote", "origin", "url", uri);
     cfg.setString("remote", "origin", "fetch", "+refs/*:refs/remotes/origin/*");
     TestRepository<InMemoryRepository> testRepo = GitUtil.newTestRepository(dest);
