Merge "Audit: sandbox integration tests for removing flakiness"
diff --git a/java/com/google/gerrit/acceptance/AbstractDaemonTest.java b/java/com/google/gerrit/acceptance/AbstractDaemonTest.java
index d77e1a1..5155e6c 100644
--- a/java/com/google/gerrit/acceptance/AbstractDaemonTest.java
+++ b/java/com/google/gerrit/acceptance/AbstractDaemonTest.java
@@ -125,7 +125,6 @@
 import com.google.gerrit.testing.ConfigSuite;
 import com.google.gerrit.testing.FakeEmailSender;
 import com.google.gerrit.testing.FakeEmailSender.Message;
-import com.google.gerrit.testing.FakeGroupAuditService;
 import com.google.gerrit.testing.SshMode;
 import com.google.gson.Gson;
 import com.google.gwtorm.server.OrmException;
@@ -242,7 +241,6 @@
   @Inject protected ChangeNoteUtil changeNoteUtil;
   @Inject protected ChangeResource.Factory changeResourceFactory;
   @Inject protected FakeEmailSender sender;
-  @Inject protected FakeGroupAuditService auditService;
   @Inject protected GerritApi gApi;
   @Inject protected GitRepositoryManager repoManager;
   @Inject protected GroupBackend groupBackend;
diff --git a/javatests/com/google/gerrit/acceptance/git/GitOverHttpServletIT.java b/javatests/com/google/gerrit/acceptance/git/GitOverHttpServletIT.java
index 90f4134..26ace25 100644
--- a/javatests/com/google/gerrit/acceptance/git/GitOverHttpServletIT.java
+++ b/javatests/com/google/gerrit/acceptance/git/GitOverHttpServletIT.java
@@ -16,8 +16,10 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import com.google.gerrit.acceptance.Sandboxed;
 import com.google.gerrit.server.AuditEvent;
 import com.google.gerrit.server.audit.HttpAuditEvent;
+import com.google.gerrit.testing.FakeGroupAuditService;
 import java.util.Collections;
 import javax.servlet.http.HttpServletResponse;
 import org.eclipse.jgit.transport.CredentialsProvider;
@@ -34,18 +36,19 @@
     CredentialsProvider.setDefault(
         new UsernamePasswordCredentialsProvider(admin.username, admin.httpPassword));
     selectProtocol(AbstractPushForReview.Protocol.HTTP);
-    auditService.clearEvents();
   }
 
   @Test
+  @Sandboxed
   public void receivePackAuditEventLog() throws Exception {
+    FakeGroupAuditService auditService = clearAuditService();
     testRepo
         .git()
         .push()
         .setRemote("origin")
         .setRefSpecs(new RefSpec("HEAD:refs/for/master"))
         .call();
-    waitForAudit();
+    waitForAudit(auditService);
 
     // Git smart protocol makes two requests:
     // https://github.com/git/git/blob/master/Documentation/technical/http-protocol.txt
@@ -59,9 +62,11 @@
   }
 
   @Test
+  @Sandboxed
   public void uploadPackAuditEventLog() throws Exception {
+    FakeGroupAuditService auditService = clearAuditService();
     testRepo.git().fetch().call();
-    waitForAudit();
+    waitForAudit(auditService);
 
     assertThat(auditService.auditEvents.size()).isEqualTo(1);
 
@@ -73,7 +78,14 @@
     assertThat(((HttpAuditEvent) e).httpStatus).isEqualTo(HttpServletResponse.SC_OK);
   }
 
-  private void waitForAudit() throws InterruptedException {
+  private FakeGroupAuditService clearAuditService() {
+    FakeGroupAuditService auditService =
+        server.getTestInjector().getInstance(FakeGroupAuditService.class);
+    auditService.clearEvents();
+    return auditService;
+  }
+
+  private void waitForAudit(FakeGroupAuditService auditService) throws InterruptedException {
     synchronized (auditService.auditEvents) {
       auditService.auditEvents.wait(AUDIT_EVENT_TIMEOUT);
     }