Merge branch 'stable-3.2' into master
* stable-3.2:
Bump Bazel version to 3.7.0
Change-Id: If6288f6febb3dfa488112502390de6cf33d5e912
diff --git a/WORKSPACE b/WORKSPACE
index da8db25..1324968 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -12,7 +12,7 @@
"gerrit_api",
)
-gerrit_api()
+gerrit_api(version = "3.4.0-SNAPSHOT")
load("//:external_plugin_deps.bzl", "external_plugin_deps")
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 15b64fe..d1c5f7e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ValidatorConfig.java
@@ -14,9 +14,13 @@
package com.googlesource.gerrit.plugins.uploadvalidator;
+import static com.google.common.collect.ImmutableList.toImmutableList;
+
+import com.google.common.collect.ImmutableList;
import com.google.gerrit.common.Nullable;
-import com.google.gerrit.common.data.AccessSection;
+import com.google.gerrit.entities.AccessSection;
import com.google.gerrit.entities.AccountGroup;
+import com.google.gerrit.entities.AccountGroup.UUID;
import com.google.gerrit.entities.Project;
import com.google.gerrit.exceptions.StorageException;
import com.google.gerrit.extensions.annotations.Exports;
@@ -33,7 +37,6 @@
import java.util.Arrays;
import java.util.Optional;
import java.util.regex.Pattern;
-import java.util.stream.Stream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -79,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)
@@ -119,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);
}
@@ -165,14 +187,16 @@
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;
}
- Stream<AccountGroup.UUID> skipGroups =
- Arrays.stream(conf.getStringList("skipGroup")).map(this::groupUUID);
- return user.asIdentifiedUser().getEffectiveGroups().containsAnyOf(skipGroups::iterator);
+ ImmutableList<UUID> skipGroups =
+ Arrays.stream(conf.getStringList("skipGroup"))
+ .map(this::groupUUID)
+ .collect(toImmutableList());
+ return user.asIdentifiedUser().getEffectiveGroups().containsAnyOf(skipGroups);
}
private AccountGroup.UUID groupUUID(String groupNameOrUUID) {
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/FakeConfigFactory.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeConfigFactory.java
index 79f4cc5..0aaae0f 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeConfigFactory.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/FakeConfigFactory.java
@@ -34,9 +34,9 @@
@Override
public PluginConfig get(NameKey projectName) {
if (this.projectName.equals(projectName)) {
- return new PluginConfig("uploadvalidator", config);
+ return PluginConfig.create("uploadvalidator", config, null);
}
- return new PluginConfig("uploadvalidator", new Config());
+ return PluginConfig.create("uploadvalidator", new Config(), null);
}
}
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();
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/TestUtils.java b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/TestUtils.java
index 22f95f0..f18295e 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/TestUtils.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/uploadvalidator/TestUtils.java
@@ -43,7 +43,8 @@
import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
public class TestUtils {
- public static final PluginConfig EMPTY_PLUGIN_CONFIG = new PluginConfig("", new Config());
+ public static final PluginConfig EMPTY_PLUGIN_CONFIG =
+ PluginConfig.create("", new Config(), null);
protected static final byte[] EMPTY_CONTENT = "".getBytes(Charsets.UTF_8);