Support for comment validation for blockedkeywords - Implement the new comment validation hook - Update the validator config helper to allow for per op disable Change-Id: I2a1b381a4c938005df6e270171ba2d8d61f924f3
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 c52b588..f99df7f 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java
@@ -20,12 +20,21 @@ import com.google.common.base.Joiner; import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableCollection; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Iterables; +import com.google.common.flogger.FluentLogger; import com.google.gerrit.entities.Patch; +import com.google.gerrit.entities.Project; +import com.google.gerrit.entities.Project.NameKey; import com.google.gerrit.extensions.annotations.Exports; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.api.projects.ProjectConfigEntryType; import com.google.gerrit.extensions.registration.DynamicSet; +import com.google.gerrit.extensions.validators.CommentForValidation; +import com.google.gerrit.extensions.validators.CommentValidationContext; +import com.google.gerrit.extensions.validators.CommentValidationFailure; +import com.google.gerrit.extensions.validators.CommentValidator; import com.google.gerrit.server.config.PluginConfig; import com.google.gerrit.server.config.PluginConfigFactory; import com.google.gerrit.server.config.ProjectConfigEntry; @@ -47,9 +56,12 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.ExecutionException; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -60,8 +72,20 @@ import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevWalk; -public class BlockedKeywordValidator implements CommitValidationListener { +/** + * A validator for checking for use of blocked keywords in commit content and comments. + * + * <p>This class implements both {@link CommitValidationListener} and {@link CommentValidator} + * validator classes to run its list of blocked keywords against commit content and comments. + */ +public class BlockedKeywordValidator implements CommitValidationListener, CommentValidator { + private static final FluentLogger logger = FluentLogger.forEnclosingClass(); + + // These keys are used for turning on specific validation elements. + // i.e. enableSkipValidation = blockedKeyword will enabled skipRef and skipGroup checks + // i.e. disabledValidation = blockedKeywordComments will disable the comment blocked keyword check private static final String KEY_CHECK_BLOCKED_KEYWORD = "blockedKeyword"; + private static final String KEY_CHECK_COMMENT_BLOCKED_KEYWORD = "blockedKeywordComments"; private static final String KEY_CHECK_BLOCKED_KEYWORD_PATTERN = KEY_CHECK_BLOCKED_KEYWORD + "Pattern"; @@ -70,6 +94,7 @@ @Override protected void configure() { DynamicSet.bind(binder(), CommitValidationListener.class).to(BlockedKeywordValidator.class); + DynamicSet.bind(binder(), CommentValidator.class).to(BlockedKeywordValidator.class); bind(ProjectConfigEntry.class) .annotatedWith(Exports.named(KEY_CHECK_BLOCKED_KEYWORD_PATTERN)) .toInstance( @@ -120,7 +145,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(), @@ -148,16 +173,40 @@ return Collections.emptyList(); } + @Override + public ImmutableList<CommentValidationFailure> validateComments( + CommentValidationContext ctx, ImmutableList<CommentForValidation> comments) { + try { + NameKey projectNameKey = Project.nameKey(ctx.getProject()); + PluginConfig cfg = cfgFactory.getFromProjectConfigWithInheritance(projectNameKey, pluginName); + if (isActive(cfg) + && validatorConfig.isEnabled( + null, projectNameKey, "", KEY_CHECK_COMMENT_BLOCKED_KEYWORD)) { + ImmutableMap<String, Pattern> blockedKeywordPatterns = + patternCache.getAll( + Arrays.asList(cfg.getStringList(KEY_CHECK_BLOCKED_KEYWORD_PATTERN))); + return comments.stream() + .map(comment -> validateComment(blockedKeywordPatterns, comment)) + .filter(Optional::isPresent) + .map(Optional::get) + .collect(ImmutableList.toImmutableList()); + } + } catch (NoSuchProjectException | ExecutionException e) { + throw new IllegalStateException("Exception validating comments in uploadvalidator", e); + } + return ImmutableList.of(); + } + @VisibleForTesting List<CommitValidationMessage> performValidation( Repository repo, RevCommit c, RevWalk revWalk, - ImmutableCollection<Pattern> blockedKeywordPartterns, + ImmutableCollection<Pattern> blockedKeywordPatterns, PluginConfig cfg) throws IOException, ExecutionException { List<CommitValidationMessage> messages = new LinkedList<>(); - checkCommitMessageForBlockedKeywords(blockedKeywordPartterns, messages, c.getFullMessage()); + checkCommitMessageForBlockedKeywords(blockedKeywordPatterns, messages, c.getFullMessage()); Map<String, ObjectId> content = CommitUtils.getChangedContent(repo, c, revWalk); for (String path : content.keySet()) { ObjectLoader ol = revWalk.getObjectReader().open(content.get(path)); @@ -166,11 +215,23 @@ continue; } } - checkFileForBlockedKeywords(blockedKeywordPartterns, messages, path, ol); + checkFileForBlockedKeywords(blockedKeywordPatterns, messages, path, ol); } return messages; } + private static Optional<CommentValidationFailure> validateComment( + ImmutableMap blockedKeywordPatterns, CommentForValidation comment) { + // Uses HashSet data structure for de-duping found blocked keywords. + Set<String> findings = new LinkedHashSet<String>( + findBlockedKeywordsInString(blockedKeywordPatterns.values(), comment.getText())); + if (findings.isEmpty()) { + return Optional.empty(); + } + return Optional.of(comment.failValidation( + String.format("banned words found in your comment (%s)", Iterables.toString(findings)))); + } + private static void checkCommitMessageForBlockedKeywords( ImmutableCollection<Pattern> blockedKeywordPatterns, List<CommitValidationMessage> messages, @@ -183,7 +244,7 @@ } private static void checkFileForBlockedKeywords( - ImmutableCollection<Pattern> blockedKeywordPartterns, + ImmutableCollection<Pattern> blockedKeywordPatterns, List<CommitValidationMessage> messages, String path, ObjectLoader ol) @@ -193,24 +254,30 @@ int line = 0; for (String l = br.readLine(); l != null; l = br.readLine()) { line++; - checkLineForBlockedKeywords(blockedKeywordPartterns, messages, path, line, l); + checkLineForBlockedKeywords(blockedKeywordPatterns, messages, path, line, l); } } } - private static void checkLineForBlockedKeywords( - ImmutableCollection<Pattern> blockedKeywordPartterns, - List<CommitValidationMessage> messages, - String path, - int lineNumber, - String line) { + private static List<String> findBlockedKeywordsInString( + ImmutableCollection<Pattern> blockedKeywordPatterns, String text) { List<String> found = new ArrayList<>(); - for (Pattern p : blockedKeywordPartterns) { - Matcher matcher = p.matcher(line); + for (Pattern p : blockedKeywordPatterns) { + Matcher matcher = p.matcher(text); while (matcher.find()) { found.add(matcher.group()); } } + return found; + } + + private static void checkLineForBlockedKeywords( + ImmutableCollection<Pattern> blockedKeywordPatterns, + List<CommitValidationMessage> messages, + String path, + int lineNumber, + String line) { + List<String> found = findBlockedKeywordsInString(blockedKeywordPatterns, line); if (!found.isEmpty()) { messages.add( new CommitValidationMessage(
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ChangeEmailValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ChangeEmailValidator.java index 7ee8f95..04525ec 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ChangeEmailValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ChangeEmailValidator.java
@@ -108,7 +108,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isAuthorActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(), @@ -123,7 +123,7 @@ } } if (isCommitterActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 0d8f2e4..698d358 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeValidator.java
@@ -123,7 +123,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 0b93e6d..8a9ea2b 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/DuplicatePathnameValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/DuplicatePathnameValidator.java
@@ -181,7 +181,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 716f32e..4b29b1f 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FileExtensionValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FileExtensionValidator.java
@@ -100,7 +100,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 51d6a8e..b5b92c2 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FooterValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/FooterValidator.java
@@ -85,7 +85,7 @@ receiveEvent.project.getNameKey(), pluginName); String[] requiredFooters = cfg.getStringList(KEY_REQUIRED_FOOTER); if (requiredFooters.length > 0 - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 846288f..c6371df 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidFilenameValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidFilenameValidator.java
@@ -95,7 +95,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 2f602b0..8b708ef 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java
@@ -105,7 +105,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 2216451..a3db8f4 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/MaxPathLengthValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/MaxPathLengthValidator.java
@@ -89,7 +89,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 08d4d3f..f96d325 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SubmoduleValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SubmoduleValidator.java
@@ -92,7 +92,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 7b7d893..85a8151 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SymlinkValidator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/SymlinkValidator.java
@@ -93,7 +93,7 @@ cfgFactory.getFromProjectConfigWithInheritance( receiveEvent.project.getNameKey(), pluginName); if (isActive(cfg) - && validatorConfig.isEnabledForRef( + && validatorConfig.isEnabled( receiveEvent.user, receiveEvent.getProjectNameKey(), receiveEvent.getRefName(),
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 aea74a6..d1c5f7e 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java +++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java
@@ -82,15 +82,29 @@ this.groupByNameFinder = groupByNameFinder; } - public boolean isEnabledForRef( - IdentifiedUser user, Project.NameKey projectName, String refName, String validatorOp) { + /** + * Checks whether the provided params match with the plugin configuration to verify it is enabled. + * + * @param user A Nullable field identifying the user defined on the ref. Passing null will ignore + * user checks. + * @param projectName Identifier for the project name on the ref. + * @param refName Identifier for the ref name. + * @param validatorOp The name of the validator operation. Can be used in skip validation config. + * @return boolean indicating if the ref is enabled for validation. + */ + public boolean isEnabled( + @Nullable IdentifiedUser user, + Project.NameKey projectName, + String refName, + String validatorOp) { PluginConfig conf = configFactory.get(projectName); return conf != null && isValidConfig(conf, projectName) && (activeForRef(conf, refName)) - && (activeForEmail(conf, user.getAccount().preferredEmail())) + && (user == null || activeForEmail(conf, user.getAccount().preferredEmail())) && (activeForProject(conf, projectName.get())) + && (!isDisabledValidatorOp(conf, validatorOp)) && (!hasCriteria(conf, "skipGroup") || !canSkipValidation(conf, validatorOp) || !canSkipRef(conf, refName) @@ -122,6 +136,11 @@ return config.getStringList(criteria).length > 0; } + private boolean isDisabledValidatorOp(PluginConfig config, String validatorOp) { + String[] c = config.getStringList("disabledValidation"); + return Arrays.asList(c).contains(validatorOp); + } + private boolean activeForProject(PluginConfig config, String project) { return matchCriteria(config, "project", project, true, false); } @@ -168,8 +187,8 @@ return Pattern.matches(pattern, value); } - private boolean canSkipGroup(PluginConfig conf, IdentifiedUser user) { - if (!user.isIdentifiedUser()) { + private boolean canSkipGroup(PluginConfig conf, @Nullable IdentifiedUser user) { + if (user == null || !user.isIdentifiedUser()) { return false; }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/EmailAwareValidatorConfigTest.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/EmailAwareValidatorConfigTest.java index 64184cc..8c00744 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/EmailAwareValidatorConfigTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/EmailAwareValidatorConfigTest.java
@@ -30,7 +30,7 @@ ValidatorConfig config = getConfig("[plugin \"uploadvalidator\"]\n" + "blockedFileExtension = jar"); - assertThat(config.isEnabledForRef(anyUser, projectName, "anyRef", "blockedFileExtension")) + assertThat(config.isEnabled(anyUser, projectName, "anyRef", "blockedFileExtension")) .isTrue(); } @@ -40,7 +40,7 @@ ValidatorConfig config = getConfig("[plugin \"uploadvalidator\"]\n" + "blockedFileExtension = jar"); - assertThat(config.isEnabledForRef(missingEmail, projectName, "anyRef", "blockedFileExtension")) + assertThat(config.isEnabled(missingEmail, projectName, "anyRef", "blockedFileExtension")) .isTrue(); } @@ -55,7 +55,7 @@ + " blockedFileExtension = jar"); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/anyref", "blockedFileExtension")) .isTrue(); } @@ -69,7 +69,7 @@ + " blockedFileExtension = jar"); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/anyref", "blockedFileExtension")) .isFalse(); } @@ -84,11 +84,11 @@ + " blockedFileExtension = jar"); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/anyref", "blockedFileExtension")) .isFalse(); assertThat( - config.isEnabledForRef( + config.isEnabled( exampleOrgUser, projectName, "refs/heads/anyref", "blockedFileExtension")) .isTrue(); } @@ -103,7 +103,7 @@ + " blockedFileExtension = jar"); assertThat( - config.isEnabledForRef( + config.isEnabled( missingEmail, projectName, "refs/heads/anyref", "blockedFileExtension")) .isFalse(); } @@ -120,14 +120,14 @@ + " blockedFileExtension = jar"); assertThat( - config.isEnabledForRef( + config.isEnabled( exampleOrgUser, projectName, "refs/heads/anyref", "blockedFileExtension")) .isTrue(); assertThat( - config.isEnabledForRef(xUser, projectName, "refs/heads/anyref", "blockedFileExtension")) + config.isEnabled(xUser, projectName, "refs/heads/anyref", "blockedFileExtension")) .isTrue(); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/anyref", "blockedFileExtension")) .isFalse(); }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/ProjectAwareValidatorConfigTest.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/ProjectAwareValidatorConfigTest.java index 4c5df11..c968ec5 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/ProjectAwareValidatorConfigTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/ProjectAwareValidatorConfigTest.java
@@ -30,7 +30,7 @@ ValidatorConfig config = getConfig("[plugin \"uploadvalidator\"]\n" + "blockedFileExtension = jar", projectName); - assertThat(config.isEnabledForRef(anyUser, projectName, "anyRef", "blockedFileExtension")) + assertThat(config.isEnabled(anyUser, projectName, "anyRef", "blockedFileExtension")) .isTrue(); } @@ -43,7 +43,7 @@ + " blockedFileExtension = jar", projectName); - assertThat(config.isEnabledForRef(anyUser, projectName, "anyRef", "blockedFileExtension")) + assertThat(config.isEnabled(anyUser, projectName, "anyRef", "blockedFileExtension")) .isTrue(); } @@ -56,7 +56,7 @@ + " blockedFileExtension = jar", projectName); - assertThat(config.isEnabledForRef(anyUser, projectName, "anyRef", "blockedFileExtension")) + assertThat(config.isEnabled(anyUser, projectName, "anyRef", "blockedFileExtension")) .isFalse(); } @@ -70,9 +70,9 @@ ValidatorConfig config = getConfig(configString, projectName); ValidatorConfig config2 = getConfig(configString, otherNameKey); - assertThat(config.isEnabledForRef(anyUser, projectName, "anyRef", "blockedFileExtension")) + assertThat(config.isEnabled(anyUser, projectName, "anyRef", "blockedFileExtension")) .isTrue(); - assertThat(config2.isEnabledForRef(anyUser, otherNameKey, "anyRef", "blockedFileExtension")) + assertThat(config2.isEnabled(anyUser, otherNameKey, "anyRef", "blockedFileExtension")) .isFalse(); } @@ -89,11 +89,11 @@ ValidatorConfig config2 = getConfig(configString, anotherNameKey); ValidatorConfig config3 = getConfig(configString, someOtherNameKey); - assertThat(config.isEnabledForRef(anyUser, projectName, "anyRef", "blockedFileExtension")) + assertThat(config.isEnabled(anyUser, projectName, "anyRef", "blockedFileExtension")) .isTrue(); - assertThat(config2.isEnabledForRef(anyUser, anotherNameKey, "anyRef", "blockedFileExtension")) + assertThat(config2.isEnabled(anyUser, anotherNameKey, "anyRef", "blockedFileExtension")) .isTrue(); - assertThat(config3.isEnabledForRef(anyUser, someOtherNameKey, "anyRef", "blockedFileExtension")) + assertThat(config3.isEnabled(anyUser, someOtherNameKey, "anyRef", "blockedFileExtension")) .isFalse(); }
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 0ef4f4b..f74d346 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/RefAwareValidatorConfigTest.java
@@ -30,7 +30,7 @@ ValidatorConfig config = getConfig("[plugin \"uploadvalidator\"]\n" + "blockedFileExtension = jar"); - assertThat(config.isEnabledForRef(anyUser, projectName, "anyRef", "blockedFileExtension")) + assertThat(config.isEnabled(anyUser, projectName, "anyRef", "blockedFileExtension")) .isTrue(); } @@ -43,7 +43,7 @@ + " blockedFileExtension = jar"); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/anyref", "blockedFileExtension")) .isTrue(); } @@ -57,7 +57,7 @@ + " blockedFileExtension = jar"); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/anyref", "blockedFileExtension")) .isFalse(); } @@ -71,11 +71,11 @@ + " blockedFileExtension = jar"); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/anotherref", "blockedFileExtension")) .isFalse(); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/mybranch123", "blockedFileExtension")) .isTrue(); } @@ -90,15 +90,15 @@ + " blockedFileExtension = jar"); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/branch1", "blockedFileExtension")) .isTrue(); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/branch2", "blockedFileExtension")) .isTrue(); assertThat( - config.isEnabledForRef( + config.isEnabled( anyUser, projectName, "refs/heads/branch3", "blockedFileExtension")) .isFalse(); }
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 e928b34..b46ac86 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/SkipValidationTest.java
@@ -31,7 +31,7 @@ ValidatorConfig validatorConfig = new ValidatorConfig(new FakeConfigFactory(projectName, ""), new FakeGroupByNameFinder()); - assertThat(validatorConfig.isEnabledForRef(anyUser, projectName, "anyRef", "anyOp")).isTrue(); + assertThat(validatorConfig.isEnabled(anyUser, projectName, "anyRef", "anyOp")).isTrue(); } @Test @@ -47,7 +47,7 @@ new FakeConfigFactory(projectName, config), new FakeGroupByNameFinder()); assertThat( - validatorConfig.isEnabledForRef( + validatorConfig.isEnabled( new FakeUserProvider("testGroup", "yetAnotherGroup").get(), projectName, "anyRef", @@ -70,7 +70,7 @@ TimeUtil.nowTs())); assertThat( - validatorConfig.isEnabledForRef( + validatorConfig.isEnabled( new FakeUserProvider("testGroupId").get(), projectName, "anyRef", "testOp")) .isFalse(); } @@ -88,7 +88,7 @@ new FakeConfigFactory(projectName, config), new FakeGroupByNameFinder()); assertThat( - validatorConfig.isEnabledForRef( + validatorConfig.isEnabled( new FakeUserProvider("yetAnotherGroup").get(), projectName, "anyRef", "testOp")) .isTrue(); } @@ -105,7 +105,7 @@ new ValidatorConfig( new FakeConfigFactory(projectName, config), new FakeGroupByNameFinder()); - assertThat(validatorConfig.isEnabledForRef(anyUser, projectName, "anyRef", "anotherOp")) + assertThat(validatorConfig.isEnabled(anyUser, projectName, "anyRef", "anotherOp")) .isTrue(); } @@ -122,7 +122,7 @@ new FakeConfigFactory(projectName, config), new FakeGroupByNameFinder()); assertThat( - validatorConfig.isEnabledForRef( + validatorConfig.isEnabled( new FakeUserProvider("testGroup").get(), projectName, "refs/heads/myref", "testOp")) .isFalse(); } @@ -140,7 +140,7 @@ new FakeConfigFactory(projectName, config), new FakeGroupByNameFinder()); assertThat( - validatorConfig.isEnabledForRef( + validatorConfig.isEnabled( anyUser, projectName, "refs/heads/anotherRef", "testOp")) .isTrue(); }