Fix skipGroup user propagation for Git/HTTP pushes

When commits are pushed using Git/HTTP, the receive commit
is executed in a separate asynchronous thread that does not
inherit the same thread-local context.

Get the user from the receiveEvent so that skip by group
can work reliably on both Git/SSH and Git/HTTP pushes.

Change-Id: I42c7b0062fcb2d188c2fd67fbaa0f41705d1aced
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java
index 5f4df3d..a84b62d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java
@@ -113,8 +113,9 @@
           .getFromProjectConfigWithInheritance(
               receiveEvent.project.getNameKey(), pluginName);
       if (isActive(cfg)
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_CHECK_BLOCKED_KEYWORD)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_CHECK_BLOCKED_KEYWORD)) {
         ImmutableMap<String, Pattern> blockedKeywordPatterns =
             patternCache.getAll(Arrays
                 .asList(cfg.getStringList(KEY_CHECK_BLOCKED_KEYWORD_PATTERN)));
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeValidator.java
index 026cf7a..99fd624 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeValidator.java
@@ -115,8 +115,9 @@
           .getFromProjectConfigWithInheritance(
               receiveEvent.project.getNameKey(), pluginName);
       if (isActive(cfg)
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_BLOCKED_CONTENT_TYPE)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_BLOCKED_CONTENT_TYPE)) {
         try (Repository repo =
             repoManager.openRepository(receiveEvent.project.getNameKey())) {
           List<CommitValidationMessage> messages =
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/DuplicatePathnameValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/DuplicatePathnameValidator.java
index 8d9e2d1..6eb0276 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/DuplicatePathnameValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/DuplicatePathnameValidator.java
@@ -172,8 +172,9 @@
           .getFromProjectConfigWithInheritance(
               receiveEvent.project.getNameKey(), pluginName);
       if (isActive(cfg)
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_REJECT_DUPLICATE_PATHNAMES)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_REJECT_DUPLICATE_PATHNAMES)) {
         locale = getLocale(cfg);
         try (Repository repo =
             repoManager.openRepository(receiveEvent.project.getNameKey())) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FileExtensionValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FileExtensionValidator.java
index 4c13fdf..b8d2ae3 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FileExtensionValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FileExtensionValidator.java
@@ -96,8 +96,9 @@
           .getFromProjectConfigWithInheritance(
               receiveEvent.project.getNameKey(), pluginName);
       if (isActive(cfg)
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_BLOCKED_FILE_EXTENSION)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_BLOCKED_FILE_EXTENSION)) {
         try (Repository repo =
             repoManager.openRepository(receiveEvent.project.getNameKey())) {
           List<CommitValidationMessage> messages = performValidation(repo,
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FooterValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FooterValidator.java
index 1b0e05b..6127cbe 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FooterValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FooterValidator.java
@@ -82,8 +82,9 @@
       String[] requiredFooters =
           cfg.getStringList(KEY_REQUIRED_FOOTER);
       if (requiredFooters.length > 0
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_REQUIRED_FOOTER)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_REQUIRED_FOOTER)) {
         List<CommitValidationMessage> messages = new LinkedList<>();
         Set<String> footers = FluentIterable.from(receiveEvent.commit.getFooterLines())
             .transform(new Function<FooterLine, String>() {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidFilenameValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidFilenameValidator.java
index 75daaf6..e347ca5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidFilenameValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidFilenameValidator.java
@@ -89,8 +89,9 @@
           cfgFactory.getFromProjectConfigWithInheritance(
               receiveEvent.project.getNameKey(), pluginName);
       if (isActive(cfg)
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_INVALID_FILENAME)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_INVALID_FILENAME)) {
         try (Repository repo = repoManager.openRepository(
             receiveEvent.project.getNameKey())) {
           List<CommitValidationMessage> messages =
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java
index 1c04334..1d5868c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java
@@ -100,8 +100,9 @@
           cfgFactory.getFromProjectConfigWithInheritance(
               receiveEvent.project.getNameKey(), pluginName);
       if (isActive(cfg)
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_CHECK_REJECT_WINDOWS_LINE_ENDINGS)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_CHECK_REJECT_WINDOWS_LINE_ENDINGS)) {
         try (Repository repo =
             repoManager.openRepository(receiveEvent.project.getNameKey())) {
           List<CommitValidationMessage> messages =
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/MaxPathLengthValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/MaxPathLengthValidator.java
index 5fb3637..9c2e612 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/MaxPathLengthValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/MaxPathLengthValidator.java
@@ -85,8 +85,9 @@
           cfgFactory.getFromProjectConfigWithInheritance(
               receiveEvent.project.getNameKey(), pluginName);
       if (isActive(cfg)
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_MAX_PATH_LENGTH)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_MAX_PATH_LENGTH)) {
         int maxPathLength = cfg.getInt(KEY_MAX_PATH_LENGTH, 0);
         try (Repository repo =
             repoManager.openRepository(receiveEvent.project.getNameKey())) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SubmoduleValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SubmoduleValidator.java
index cb651fc..5a24b59 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SubmoduleValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SubmoduleValidator.java
@@ -87,8 +87,9 @@
           .getFromProjectConfigWithInheritance(
               receiveEvent.project.getNameKey(), pluginName);
       if (isActive(cfg)
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_CHECK_SUBMODULE)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_CHECK_SUBMODULE)) {
         try (Repository repo =
             repoManager.openRepository(receiveEvent.project.getNameKey())) {
           List<CommitValidationMessage> messages =
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SymlinkValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SymlinkValidator.java
index 8a0e164..eebd14c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SymlinkValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SymlinkValidator.java
@@ -88,8 +88,9 @@
           cfgFactory.getFromProjectConfigWithInheritance(
               receiveEvent.project.getNameKey(), pluginName);
       if (isActive(cfg)
-          && validatorConfig.isEnabledForRef(receiveEvent.getProjectNameKey(),
-              receiveEvent.getRefName(), KEY_CHECK_SYMLINK)) {
+          && validatorConfig.isEnabledForRef(receiveEvent.user,
+              receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
+              KEY_CHECK_SYMLINK)) {
         try (Repository repo =
             repoManager.openRepository(receiveEvent.project.getNameKey())) {
           List<CommitValidationMessage> messages =
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java
index 5f02a69..e3d9260 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java
@@ -17,12 +17,11 @@
 import com.google.gerrit.common.data.RefConfigSection;
 import com.google.gerrit.reviewdb.client.AccountGroup;
 import com.google.gerrit.reviewdb.client.Project;
-import com.google.gerrit.server.CurrentUser;
+import com.google.gerrit.server.IdentifiedUser;
 import com.google.gerrit.server.account.GroupCache;
 import com.google.gerrit.server.config.PluginConfig;
 import com.google.gerrit.server.project.RefPatternMatcher;
 import com.google.inject.Inject;
-import com.google.inject.Provider;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -34,19 +33,17 @@
   private static final Logger log = LoggerFactory
       .getLogger(ValidatorConfig.class);
   private final ConfigFactory configFactory;
-  private final Provider<CurrentUser> userProvider;
   private final GroupCache groupCache;
 
   @Inject
   public ValidatorConfig(ConfigFactory configFactory,
-      Provider<CurrentUser> userProvider, GroupCache groupCache) {
+      GroupCache groupCache) {
     this.configFactory = configFactory;
-    this.userProvider = userProvider;
     this.groupCache = groupCache;
   }
 
-  public boolean isEnabledForRef(Project.NameKey projectName, String refName,
-      String validatorOp) {
+  public boolean isEnabledForRef(IdentifiedUser user,
+      Project.NameKey projectName, String refName, String validatorOp) {
     PluginConfig conf = configFactory.get(projectName);
 
     return conf != null
@@ -55,7 +52,7 @@
         && (!hasCriteria(conf, "skipGroup")
             || !canSkipValidation(conf, validatorOp)
             || !canSkipRef(conf, refName)
-            || !canSkipGroup(conf));
+            || !canSkipGroup(conf, user));
   }
 
   private boolean isValidConfig(PluginConfig config, Project.NameKey projectName) {
@@ -109,8 +106,7 @@
     return RefPatternMatcher.getMatcher(pattern).match(value, null);
   }
 
-  private boolean canSkipGroup(PluginConfig conf) {
-    CurrentUser user = userProvider.get();
+  private boolean canSkipGroup(PluginConfig conf, IdentifiedUser user) {
     if (!user.isIdentifiedUser()) {
       return false;
     }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeUserProvider.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeUserProvider.java
index cd4f881..f634090 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeUserProvider.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeUserProvider.java
@@ -14,13 +14,14 @@
 
 package com.googlesource.gerrit.plugins.uploadvalidator;
 
-import static org.easymock.EasyMock.*;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
 
-import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.IdentifiedUser;
 import com.google.inject.Provider;
 
-public class FakeUserProvider implements Provider<CurrentUser> {
+public class FakeUserProvider implements Provider<IdentifiedUser> {
   private final String[] groupUUID;
 
   public FakeUserProvider(String... groupUUID) {
@@ -28,7 +29,7 @@
   }
 
   @Override
-  public CurrentUser get() {
+  public IdentifiedUser get() {
     return createNew();
   }
 
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java
index 42a2217..80b78ea 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java
@@ -17,12 +17,14 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import com.google.gerrit.reviewdb.client.Project;
+import com.google.gerrit.server.IdentifiedUser;
 
 import org.eclipse.jgit.errors.ConfigInvalidException;
 import org.junit.Test;
 
 public class RefAwareValidatorConfigTest {
   private Project.NameKey projectName = new Project.NameKey("testProject");
+  private IdentifiedUser anyUser = new FakeUserProvider().get();
 
   @Test
   public void isEnabledForAllRefsByDefault() throws Exception {
@@ -31,8 +33,8 @@
             + "blockedFileExtension = jar");
 
     assertThat(
-        config.isEnabledForRef(projectName, "anyRef", "blockedFileExtension"))
-        .isTrue();
+        config.isEnabledForRef(anyUser, projectName, "anyRef",
+            "blockedFileExtension")).isTrue();
   }
 
   @Test
@@ -43,7 +45,7 @@
             + "   blockedFileExtension = jar");
 
     assertThat(
-        config.isEnabledForRef(projectName, "refs/heads/anyref",
+        config.isEnabledForRef(anyUser, projectName, "refs/heads/anyref",
             "blockedFileExtension")).isTrue();
   }
 
@@ -55,7 +57,7 @@
             + "   blockedFileExtension = jar");
 
     assertThat(
-        config.isEnabledForRef(projectName, "refs/heads/anyref",
+        config.isEnabledForRef(anyUser, projectName, "refs/heads/anyref",
             "blockedFileExtension")).isFalse();
   }
 
@@ -67,10 +69,10 @@
             + "   blockedFileExtension = jar");
 
     assertThat(
-        config.isEnabledForRef(projectName, "refs/heads/anotherref",
+        config.isEnabledForRef(anyUser, projectName, "refs/heads/anotherref",
             "blockedFileExtension")).isFalse();
     assertThat(
-        config.isEnabledForRef(projectName, "refs/heads/mybranch123",
+        config.isEnabledForRef(anyUser, projectName, "refs/heads/mybranch123",
             "blockedFileExtension")).isTrue();
   }
 
@@ -83,13 +85,13 @@
             + "   blockedFileExtension = jar");
 
     assertThat(
-        config.isEnabledForRef(projectName, "refs/heads/branch1",
+        config.isEnabledForRef(anyUser, projectName, "refs/heads/branch1",
             "blockedFileExtension")).isTrue();
     assertThat(
-        config.isEnabledForRef(projectName, "refs/heads/branch2",
+        config.isEnabledForRef(anyUser, projectName, "refs/heads/branch2",
             "blockedFileExtension")).isTrue();
     assertThat(
-        config.isEnabledForRef(projectName, "refs/heads/branch3",
+        config.isEnabledForRef(anyUser, projectName, "refs/heads/branch3",
             "blockedFileExtension")).isFalse();
   }
 
@@ -97,7 +99,7 @@
       throws ConfigInvalidException {
     ValidatorConfig config =
         new ValidatorConfig(new FakeConfigFactory(projectName, defaultConfig),
-            new FakeUserProvider(), new FakeGroupCacheUUIDByName());
+            new FakeGroupCacheUUIDByName());
     return config;
   }
 }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java
index 3718018..6a8fda1 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java
@@ -18,20 +18,23 @@
 import com.google.gerrit.reviewdb.client.AccountGroup;
 
 import com.google.gerrit.reviewdb.client.Project;
+import com.google.gerrit.server.IdentifiedUser;
 
 import org.junit.Test;
 
 public class SkipValidationTest {
   private Project.NameKey projectName = new Project.NameKey("testProject");
+  private IdentifiedUser anyUser = new FakeUserProvider().get();
 
   @Test
   public void dontSkipByDefault() throws Exception {
     ValidatorConfig validatorConfig =
         new ValidatorConfig(new FakeConfigFactory(projectName, ""),
-            new FakeUserProvider(), new FakeGroupCacheUUIDByName());
+            new FakeGroupCacheUUIDByName());
 
-    assertThat(validatorConfig.isEnabledForRef(projectName, "anyRef", "anyOp"))
-        .isTrue();
+    assertThat(
+        validatorConfig
+            .isEnabledForRef(anyUser, projectName, "anyRef", "anyOp")).isTrue();
   }
 
   @Test
@@ -44,10 +47,11 @@
 
     ValidatorConfig validatorConfig =
         new ValidatorConfig(new FakeConfigFactory(projectName, config),
-            new FakeUserProvider("testGroup", "yetAnotherGroup"),
             new FakeGroupCacheUUIDByName());
 
-    assertThat(validatorConfig.isEnabledForRef(projectName, "anyRef", "testOp"))
+    assertThat(
+        validatorConfig.isEnabledForRef(new FakeUserProvider("testGroup",
+            "yetAnotherGroup").get(), projectName, "anyRef", "testOp"))
         .isFalse();
   }
 
@@ -60,13 +64,14 @@
 
     ValidatorConfig validatorConfig =
         new ValidatorConfig(new FakeConfigFactory(projectName, config),
-            new FakeUserProvider("testGroupId"), new FakeGroupCacheUUIDByName(
-                new AccountGroup(new AccountGroup.NameKey("testGroupName"),
-                    new AccountGroup.Id(1),
-                    new AccountGroup.UUID("testGroupId"))));
+            new FakeGroupCacheUUIDByName(new AccountGroup(
+                new AccountGroup.NameKey("testGroupName"), new AccountGroup.Id(
+                    1), new AccountGroup.UUID("testGroupId"))));
 
-    assertThat(validatorConfig.isEnabledForRef(projectName, "anyRef", "testOp"))
-        .isFalse();
+    assertThat(
+        validatorConfig.isEnabledForRef(
+            new FakeUserProvider("testGroupId").get(), projectName, "anyRef",
+            "testOp")).isFalse();
   }
 
   @Test
@@ -79,11 +84,12 @@
 
     ValidatorConfig validatorConfig =
         new ValidatorConfig(new FakeConfigFactory(projectName, config),
-            new FakeUserProvider("yetAnotherGroup"),
             new FakeGroupCacheUUIDByName());
 
-    assertThat(validatorConfig.isEnabledForRef(projectName, "anyRef", "testOp"))
-        .isTrue();
+    assertThat(
+        validatorConfig.isEnabledForRef(
+            new FakeUserProvider("yetAnotherGroup").get(), projectName,
+            "anyRef", "testOp")).isTrue();
   }
 
   @Test
@@ -96,12 +102,11 @@
 
     ValidatorConfig validatorConfig =
         new ValidatorConfig(new FakeConfigFactory(projectName, config),
-            new FakeUserProvider("testGroup", "yetAnotherGroup"),
             new FakeGroupCacheUUIDByName());
 
     assertThat(
-        validatorConfig.isEnabledForRef(projectName, "anyRef", "anotherOp"))
-        .isTrue();
+        validatorConfig.isEnabledForRef(anyUser, projectName, "anyRef",
+            "anotherOp")).isTrue();
   }
 
   @Test
@@ -114,11 +119,11 @@
 
     ValidatorConfig validatorConfig =
         new ValidatorConfig(new FakeConfigFactory(projectName, config),
-            new FakeUserProvider("testGroup"), new FakeGroupCacheUUIDByName());
+            new FakeGroupCacheUUIDByName());
 
     assertThat(
-        validatorConfig.isEnabledForRef(projectName, "refs/heads/myref",
-            "testOp")).isFalse();
+        validatorConfig.isEnabledForRef(anyUser, projectName,
+            "refs/heads/myref", "testOp")).isFalse();
   }
 
   @Test
@@ -131,10 +136,10 @@
 
     ValidatorConfig validatorConfig =
         new ValidatorConfig(new FakeConfigFactory(projectName, config),
-            new FakeUserProvider("testGroup"), new FakeGroupCacheUUIDByName());
+            new FakeGroupCacheUUIDByName());
 
     assertThat(
-        validatorConfig.isEnabledForRef(projectName, "refs/heads/anotherRef",
-            "testOp")).isTrue();
+        validatorConfig.isEnabledForRef(anyUser, projectName,
+            "refs/heads/anotherRef", "testOp")).isTrue();
   }
 }