Move getting the issue pattern into the ItsConfig class
"Getting the issue pattern" is a config thing. Now that we have a
ItsConfig class, it should live there. Hence, we move it there.
Change-Id: Ida13ce787b42d092c5a6bd3bec0507f7a4222749
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/its/ItsConfig.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/its/ItsConfig.java
index 89bccf4..e3fc124 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/its/ItsConfig.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/its/ItsConfig.java
@@ -17,6 +17,7 @@
import com.google.gerrit.common.data.RefConfigSection;
import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.reviewdb.client.Project;
+import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.config.PluginConfig;
import com.google.gerrit.server.config.PluginConfigFactory;
import com.google.gerrit.server.events.ChangeAbandonedEvent;
@@ -31,24 +32,33 @@
import com.google.gerrit.server.project.RefPatternMatcher;
import com.google.inject.Inject;
+import java.util.regex.Pattern;
+
+import org.eclipse.jgit.lib.Config;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
public class ItsConfig {
private static final Logger log = LoggerFactory.getLogger(ItsConfig.class);
private final String pluginName;
private final ProjectCache projectCache;
private final PluginConfigFactory pluginCfgFactory;
+ private final Config gerritConfig;
@Inject
public ItsConfig(@PluginName String pluginName, ProjectCache projectCache,
- PluginConfigFactory pluginCfgFactory) {
+ PluginConfigFactory pluginCfgFactory, @GerritServerConfig Config gerritConfig) {
this.pluginName = pluginName;
this.projectCache = projectCache;
this.pluginCfgFactory = pluginCfgFactory;
+ this.gerritConfig = gerritConfig;
}
+ // Plugin enablement --------------------------------------------------------
+
public boolean isEnabled(Event event) {
if (event instanceof PatchSetCreatedEvent) {
PatchSetCreatedEvent e = (PatchSetCreatedEvent) event;
@@ -114,4 +124,20 @@
private boolean match(String refName, String refPattern) {
return RefPatternMatcher.getMatcher(refPattern).match(refName, null);
}
+
+ // Issue association --------------------------------------------------------
+
+ /**
+ * Gets the regular expression used to identify issue ids.
+ * @return the regular expression, or {@code null}, if there is no pattern
+ * to match issue ids.
+ */
+ public Pattern getIssuePattern() {
+ Pattern ret = null;
+ String match = gerritConfig.getString("commentLink", pluginName, "match");
+ if (match != null) {
+ ret = Pattern.compile(match);
+ }
+ return ret;
+ }
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractor.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractor.java
index 1d57c2a..c4a6864 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractor.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractor.java
@@ -2,15 +2,14 @@
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.server.ReviewDb;
-import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
+import com.googlesource.gerrit.plugins.hooks.its.ItsConfig;
+
import org.apache.commons.lang.StringUtils;
-import org.eclipse.jgit.lib.Config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -23,19 +22,17 @@
private static final Logger log = LoggerFactory.getLogger(
IssueExtractor.class);
- private final Config gerritConfig;
- private final String pluginName;
private final CommitMessageFetcher commitMessageFetcher;
private final ReviewDb db;
+ private final ItsConfig itsConfig;
@Inject
- IssueExtractor(@GerritServerConfig Config gerritConfig,
- @PluginName String pluginName, CommitMessageFetcher commitMessageFetcher,
+ IssueExtractor(ItsConfig itsConfig,
+ CommitMessageFetcher commitMessageFetcher,
ReviewDb db) {
- this.gerritConfig = gerritConfig;
- this.pluginName = pluginName;
this.commitMessageFetcher = commitMessageFetcher;
this.db = db;
+ this.itsConfig = itsConfig;
}
/**
@@ -45,7 +42,7 @@
* @return array of {@link String}. Each String being a found issue id.
*/
public String[] getIssueIds(String haystack) {
- Pattern pattern = getPattern();
+ Pattern pattern = itsConfig.getIssuePattern();
if (pattern == null) return new String[] {};
log.debug("Matching '" + haystack + "' against " + pattern.pattern());
@@ -62,20 +59,6 @@
}
/**
- * Gets the regular expression used to identify issue ids.
- * @return the regular expression, or {@code null}, if there is no pattern
- * to match issue ids.
- */
- public Pattern getPattern() {
- Pattern ret = null;
- String match = gerritConfig.getString("commentLink", pluginName, "match");
- if (match != null) {
- ret = Pattern.compile(match);
- }
- return ret;
- }
-
- /**
* Helper funcion for {@link #getIssueIds(String, String)}.
* <p>
* Adds a text's issues for a given occurrence to the map returned by
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateComment.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateComment.java
index a396ed9..8dd24c2 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateComment.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateComment.java
@@ -118,7 +118,7 @@
sb.append("Hint: insert one or more issue-id anywhere in the ");
sb.append("commit message.\n");
sb.append(" Issue-ids are strings matching ");
- sb.append(issueExtractor.getPattern().pattern());
+ sb.append(itsConfig.getIssuePattern().pattern());
sb.append("\n");
sb.append(" and are pointing to existing tickets on ");
sb.append(pluginName);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/hooks/its/ItsConfigTest.java b/src/test/java/com/googlesource/gerrit/plugins/hooks/its/ItsConfigTest.java
index ea3671c..ebf36b2 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/hooks/its/ItsConfigTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/hooks/its/ItsConfigTest.java
@@ -19,6 +19,7 @@
import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.config.FactoryModule;
+import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.config.PluginConfig;
import com.google.gerrit.server.config.PluginConfigFactory;
import com.google.gerrit.server.data.ChangeAttribute;
@@ -30,6 +31,8 @@
import com.googlesource.gerrit.plugins.hooks.testutil.LoggingMockingTestCase;
+import org.eclipse.jgit.lib.Config;
+
import java.util.Arrays;
public class ItsConfigTest extends LoggingMockingTestCase {
@@ -37,6 +40,7 @@
private ProjectCache projectCache;
private PluginConfigFactory pluginConfigFactory;
+ private Config serverConfig;
public void setupIsEnabled(String enabled, String parentEnabled,
String[] branches) {
@@ -403,6 +407,30 @@
assertFalse(itsConfig.isEnabled(event));
}
+ public void testPatternNullMatch() {
+ ItsConfig itsConfig = createItsConfig();
+
+ expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
+ .andReturn(null).atLeastOnce();
+
+ replayMocks();
+
+ assertNull("Pattern for null match is not null",
+ itsConfig.getIssuePattern());
+ }
+
+ public void testPattern() {
+ ItsConfig itsConfig = createItsConfig();
+
+ expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
+ .andReturn("TestPattern").atLeastOnce();
+
+ replayMocks();
+
+ assertEquals("Expected and generated pattern are not equal",
+ "TestPattern", itsConfig.getIssuePattern().pattern());
+ }
+
private ItsConfig createItsConfig() {
return injector.getInstance(ItsConfig.class);
}
@@ -424,6 +452,10 @@
bind(String.class).annotatedWith(PluginName.class)
.toInstance("ItsTestName");
+
+ serverConfig = createMock(Config.class);
+ bind(Config.class).annotatedWith(GerritServerConfig.class)
+ .toInstance(serverConfig);
}
}
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractorTest.java b/src/test/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractorTest.java
index a18a1ef..a6c42c7 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractorTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/hooks/util/IssueExtractorTest.java
@@ -17,21 +17,19 @@
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.reviewdb.client.Change;
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.RevId;
import com.google.gerrit.reviewdb.server.PatchSetAccess;
import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.config.FactoryModule;
-import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Guice;
import com.google.inject.Injector;
+import com.googlesource.gerrit.plugins.hooks.its.ItsConfig;
import com.googlesource.gerrit.plugins.hooks.testutil.LoggingMockingTestCase;
-import org.eclipse.jgit.lib.Config;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@@ -40,44 +38,21 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.regex.Pattern;
@RunWith(PowerMockRunner.class)
@PrepareForTest({PatchSet.class,RevId.class})
public class IssueExtractorTest extends LoggingMockingTestCase {
private Injector injector;
- private Config serverConfig;
+ private ItsConfig itsConfig;
private CommitMessageFetcher commitMessageFetcher;
private ReviewDb db;
- public void testPatternNullMatch() {
- IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
-
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn(null).atLeastOnce();
-
- replayMocks();
-
- assertNull("Pattern for null match is not null",
- issueExtractor.getPattern());
- }
-
- public void testPattern() {
- IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
-
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("TestPattern").atLeastOnce();
-
- replayMocks();
-
- assertEquals("Expected and generated pattern are not equal",
- "TestPattern", issueExtractor.getPattern().pattern());
- }
-
public void testIssueIdsNullPattern() {
IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn(null).atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(null)
+ .atLeastOnce();
replayMocks();
@@ -87,8 +62,9 @@
public void testIssueIdsNoMatch() {
IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
replayMocks();
@@ -100,8 +76,9 @@
public void testIssueIdsFullMatch() {
IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
replayMocks();
@@ -114,8 +91,9 @@
public void testIssueIdsMatch() {
IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
replayMocks();
@@ -128,8 +106,9 @@
public void testIssueIdsGrouplessMatch() {
IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#\\d+").atLeastOnce();
+
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#\\d+"))
+ .atLeastOnce();
replayMocks();
@@ -142,8 +121,9 @@
public void testIssueIdsMultiGroupMatch() {
IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d)(\\d+)").atLeastOnce();
+
+ expect(itsConfig.getIssuePattern())
+ .andReturn(Pattern.compile("bug#(\\d)(\\d+)")).atLeastOnce();
replayMocks();
@@ -156,8 +136,9 @@
public void testIssueIdsMulipleMatches() {
IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
replayMocks();
@@ -173,8 +154,9 @@
public void testIssueIdsMulipleMatchesWithDuplicates() {
IssueExtractor issueExtractor = injector.getInstance(IssueExtractor.class);
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
replayMocks();
@@ -190,8 +172,8 @@
}
public void testIssueIdsCommitSingleIssue() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -217,8 +199,8 @@
}
public void testIssueIdsCommitMultipleIssues() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -245,8 +227,8 @@
}
public void testIssueIdsCommitMultipleIssuesMultipleTimes() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -273,8 +255,8 @@
}
public void testIssueIdsCommitSingleIssueBody() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -303,8 +285,8 @@
}
public void testIssueIdsCommitSingleIssueFooter() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -334,8 +316,8 @@
}
public void testIssueIdsCommitMultipleIssuesFooter() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -374,8 +356,8 @@
}
public void testIssueIdsCommitDifferentParts() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -408,8 +390,8 @@
}
public void testIssueIdsCommitDifferentPartsEmptySubject() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -441,8 +423,8 @@
}
public void testIssueIdsCommitDifferentPartsLinePastFooter() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -475,8 +457,8 @@
}
public void testIssueIdsCommitDifferentPartsLinesPastFooter() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -510,8 +492,8 @@
}
public void testIssueIdsCommitDifferentPartsNoFooter() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -537,8 +519,8 @@
}
public void testIssueIdsCommitDifferentPartsNoFooterTrailingLine() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -564,8 +546,8 @@
}
public void testIssueIdsCommitDifferentPartsNoFooterTrailingLines() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -592,8 +574,8 @@
}
public void testIssueIdsCommitEmpty() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn("");
@@ -613,8 +595,8 @@
}
public void testIssueIdsCommitBlankLine() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn("\n");
@@ -632,8 +614,8 @@
}
public void testIssueIdsCommitBlankLines() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn("\n\n");
@@ -651,8 +633,8 @@
}
public void testIssueIdsCommitMoreBlankLines() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn("\n\n\n");
@@ -670,8 +652,8 @@
}
public void testIssueIdsCommitMixed() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn(
@@ -710,8 +692,8 @@
}
public void testIssueIdsCommitWAddedEmptyFirst() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
expect(commitMessageFetcher.fetchGuarded("testProject",
"1234567891123456789212345678931234567894")).andReturn("");
@@ -732,8 +714,8 @@
}
public void testIssueIdsCommitWAddedSingleSubjectIssueFirst() {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
Change.Id changeId = createMock(Change.Id.class);
@@ -768,8 +750,8 @@
public void testIssueIdsCommitWAddedSingleSubjectIssueSecondEmpty()
throws OrmException {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
Change.Id changeId = createMock(Change.Id.class);
@@ -830,8 +812,8 @@
public void testIssueIdsCommitWAddedSingleSubjectIssueSecondSame()
throws OrmException {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
Change.Id changeId = createMock(Change.Id.class);
@@ -891,8 +873,8 @@
public void testIssueIdsCommitWAddedSingleSubjectIssueSecondBody()
throws OrmException {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
Change.Id changeId = createMock(Change.Id.class);
@@ -953,8 +935,8 @@
public void testIssueIdsCommitWAddedSingleSubjectIssueSecondFooter()
throws OrmException {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
Change.Id changeId = createMock(Change.Id.class);
@@ -1017,8 +999,8 @@
public void testIssueIdsCommitWAddedSubjectFooter()
throws OrmException {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
Change.Id changeId = createMock(Change.Id.class);
@@ -1085,8 +1067,8 @@
public void testIssueIdsCommitWAddedMultiple()
throws OrmException {
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("bug#(\\d+)").atLeastOnce();
+ expect(itsConfig.getIssuePattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ .atLeastOnce();
Change.Id changeId = createMock(Change.Id.class);
@@ -1164,12 +1146,8 @@
private class TestModule extends FactoryModule {
@Override
protected void configure() {
- bind(String.class).annotatedWith(PluginName.class)
- .toInstance("ItsTestName");
-
- serverConfig = createMock(Config.class);
- bind(Config.class).annotatedWith(GerritServerConfig.class)
- .toInstance(serverConfig);
+ itsConfig = createMock(ItsConfig.class);
+ bind(ItsConfig.class).toInstance(itsConfig);
commitMessageFetcher = createMock(CommitMessageFetcher.class);
bind(CommitMessageFetcher.class).toInstance(commitMessageFetcher);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateCommentTest.java b/src/test/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateCommentTest.java
index 9fc9d79..2358ced 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateCommentTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/hooks/validation/ItsValidateCommentTest.java
@@ -48,6 +48,8 @@
private Config serverConfig;
private IssueExtractor issueExtractor;
private ItsFacade itsFacade;
+ private ItsConfig itsConfig;
+
private Project project = new Project(new Project.NameKey("myProject"));
public void testOptional() throws CommitValidationException {
@@ -468,7 +470,9 @@
}
private void setupCommonMocks() {
- expect(issueExtractor.getPattern()).andReturn(Pattern.compile("bug#(\\d+)"))
+ expect(itsConfig.getIssuePattern())
+ .andReturn(Pattern.compile("bug#(\\d+)")).anyTimes();
+ expect(itsConfig.isEnabled("myProject", null)).andReturn(true)
.anyTimes();
}
@@ -497,12 +501,8 @@
itsFacade = createMock(ItsFacade.class);
bind(ItsFacade.class).toInstance(itsFacade);
- bind(ItsConfig.class).toInstance(new ItsConfig(null, null, null) {
- @Override
- public boolean isEnabled(String project, String branch) {
- return true;
- }
- });
+ itsConfig = createMock(ItsConfig.class);
+ bind(ItsConfig.class).toInstance(itsConfig);
}
}
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/hooks/workflow/ActionControllerTest.java b/src/test/java/com/googlesource/gerrit/plugins/hooks/workflow/ActionControllerTest.java
index eea768c..df122d5 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/hooks/workflow/ActionControllerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/hooks/workflow/ActionControllerTest.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.googlesource.gerrit.plugins.hooks.workflow;
+import static org.easymock.EasyMock.anyObject;
import static org.easymock.EasyMock.expect;
import com.google.common.collect.Lists;
@@ -37,6 +38,7 @@
private PropertyExtractor propertyExtractor;
private RuleBase ruleBase;
private ActionExecutor actionExecutor;
+ private ItsConfig itsConfig;
public void testNoPropertySets() {
ActionController actionController = createActionController();
@@ -182,10 +184,17 @@
return injector.getInstance(ActionController.class);
}
+ private void setupCommonMocks() {
+ expect(itsConfig.isEnabled(anyObject(Event.class))).andReturn(true)
+ .anyTimes();
+ }
+
@Override
public void setUp() throws Exception {
super.setUp();
injector = Guice.createInjector(new TestModule());
+
+ setupCommonMocks();
}
private class TestModule extends FactoryModule {
@@ -200,12 +209,8 @@
actionExecutor = createMock(ActionExecutor.class);
bind(ActionExecutor.class).toInstance(actionExecutor);
- bind(ItsConfig.class).toInstance(new ItsConfig(null, null, null) {
- @Override
- public boolean isEnabled(Event event) {
- return true;
- }
- });
+ itsConfig = createMock(ItsConfig.class);
+ bind(ItsConfig.class).toInstance(itsConfig);
}
}
}
\ No newline at end of file