Move getting the issue association policy into the ItsConfig class
"Getting the issue association policy" is a config thing. Now that we
have a ItsConfig class, it should live there. Hence, we move it there.
Change-Id: Ic0fb8304e0863e5bcee8e635c5407704dd9bc45d
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 e3fc124..7f107bf 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
@@ -32,6 +32,8 @@
import com.google.gerrit.server.project.RefPatternMatcher;
import com.google.inject.Inject;
+import com.googlesource.gerrit.plugins.hooks.validation.ItsAssociationPolicy;
+
import java.util.regex.Pattern;
import org.eclipse.jgit.lib.Config;
@@ -140,4 +142,13 @@
}
return ret;
}
+
+ /**
+ * Gets how necessary it is to associate commits with issues
+ * @return policy on how necessary association with issues is
+ */
+ public ItsAssociationPolicy getItsAssociationPolicy() {
+ return gerritConfig.getEnum("commentLink", pluginName, "association",
+ ItsAssociationPolicy.OPTIONAL);
+ }
}
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 8dd24c2..190f061 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
@@ -16,7 +16,6 @@
import com.google.common.collect.Lists;
import com.google.gerrit.extensions.annotations.PluginName;
-import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.events.CommitReceivedEvent;
import com.google.gerrit.server.git.validators.CommitValidationException;
import com.google.gerrit.server.git.validators.CommitValidationListener;
@@ -27,7 +26,6 @@
import com.googlesource.gerrit.plugins.hooks.its.ItsFacade;
import com.googlesource.gerrit.plugins.hooks.util.IssueExtractor;
-import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.transport.ReceiveCommand;
import org.slf4j.Logger;
@@ -45,10 +43,6 @@
@Inject
private ItsFacade client;
- @Inject
- @GerritServerConfig
- private Config gerritConfig;
-
@Inject @PluginName
private String pluginName;
@@ -60,7 +54,7 @@
private List<CommitValidationMessage> validCommit(ReceiveCommand cmd, RevCommit commit) throws CommitValidationException {
List<CommitValidationMessage> ret = Lists.newArrayList();
- ItsAssociationPolicy associationPolicy = getItsAssociationPolicy();
+ ItsAssociationPolicy associationPolicy = itsConfig.getItsAssociationPolicy();
switch (associationPolicy) {
case MANDATORY:
@@ -135,16 +129,11 @@
return ret;
}
- private ItsAssociationPolicy getItsAssociationPolicy() {
- return gerritConfig.getEnum("commentLink", pluginName, "association",
- ItsAssociationPolicy.OPTIONAL);
- }
-
private CommitValidationMessage commitValidationFailure(
String synopsis, String details) throws CommitValidationException {
CommitValidationMessage ret =
new CommitValidationMessage(synopsis + "\n" + details, false);
- if (getItsAssociationPolicy() == ItsAssociationPolicy.MANDATORY) {
+ if (itsConfig.getItsAssociationPolicy() == ItsAssociationPolicy.MANDATORY) {
throw new CommitValidationException(synopsis,
Collections.singletonList(ret));
}
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 ebf36b2..39b0455 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
@@ -30,6 +30,7 @@
import com.google.inject.Injector;
import com.googlesource.gerrit.plugins.hooks.testutil.LoggingMockingTestCase;
+import com.googlesource.gerrit.plugins.hooks.validation.ItsAssociationPolicy;
import org.eclipse.jgit.lib.Config;
@@ -431,6 +432,48 @@
"TestPattern", itsConfig.getIssuePattern().pattern());
}
+ public void testItsAssociationPolicyOptional() {
+ ItsConfig itsConfig = createItsConfig();
+
+ expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
+ ItsAssociationPolicy.OPTIONAL))
+ .andReturn(ItsAssociationPolicy.OPTIONAL)
+ .atLeastOnce();
+
+ replayMocks();
+
+ assertEquals("Expected and generated associated policy do not match",
+ ItsAssociationPolicy.OPTIONAL, itsConfig.getItsAssociationPolicy());
+ }
+
+ public void testItsAssociationPolicySuggested() {
+ ItsConfig itsConfig = createItsConfig();
+
+ expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
+ ItsAssociationPolicy.OPTIONAL))
+ .andReturn(ItsAssociationPolicy.SUGGESTED)
+ .atLeastOnce();
+
+ replayMocks();
+
+ assertEquals("Expected and generated associated policy do not match",
+ ItsAssociationPolicy.SUGGESTED, itsConfig.getItsAssociationPolicy());
+ }
+
+ public void testItsAssociationPolicyMandatory() {
+ ItsConfig itsConfig = createItsConfig();
+
+ expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
+ ItsAssociationPolicy.OPTIONAL))
+ .andReturn(ItsAssociationPolicy.MANDATORY)
+ .atLeastOnce();
+
+ replayMocks();
+
+ assertEquals("Expected and generated associated policy do not match",
+ ItsAssociationPolicy.MANDATORY, itsConfig.getItsAssociationPolicy());
+ }
+
private ItsConfig createItsConfig() {
return injector.getInstance(ItsConfig.class);
}
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 2358ced..fd679a6 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
@@ -45,7 +45,6 @@
@PrepareForTest({RevCommit.class})
public class ItsValidateCommentTest extends LoggingMockingTestCase {
private Injector injector;
- private Config serverConfig;
private IssueExtractor issueExtractor;
private ItsFacade itsFacade;
private ItsConfig itsConfig;
@@ -59,9 +58,10 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.OPTIONAL).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.OPTIONAL).atLeastOnce();
+
replayMocks();
ret = ivc.onCommitReceived(event);
@@ -76,11 +76,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.SUGGESTED).atLeastOnce();
- expect(serverConfig.getString("commentLink", "ItsTestName", "match"))
- .andReturn("TestPattern").anyTimes();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.SUGGESTED).atLeastOnce();
expect(commit.getFullMessage()).andReturn("TestMessage").atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
expect(commit.getName()).andReturn("TestCommit").anyTimes();
@@ -103,9 +101,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.MANDATORY).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.MANDATORY).atLeastOnce();
expect(commit.getFullMessage()).andReturn("TestMessage").atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
expect(commit.getName()).andReturn("TestCommit").anyTimes();
@@ -132,9 +130,8 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.SUGGESTED).atLeastOnce();
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.SUGGESTED).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711").atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
expect(commit.getName()).andReturn("TestCommit").anyTimes();
@@ -157,9 +154,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.MANDATORY).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.MANDATORY).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711").atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
expect(commit.getName()).andReturn("TestCommit").anyTimes();
@@ -182,9 +179,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.SUGGESTED).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.SUGGESTED).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711").atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
expect(commit.getName()).andReturn("TestCommit").anyTimes();
@@ -211,9 +208,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.MANDATORY).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.MANDATORY).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711").atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
expect(commit.getName()).andReturn("TestCommit").anyTimes();
@@ -240,9 +237,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.SUGGESTED).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.SUGGESTED).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711, bug#42")
.atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
@@ -267,9 +264,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.MANDATORY).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.MANDATORY).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711, bug#42")
.atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
@@ -294,9 +291,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.SUGGESTED).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.SUGGESTED).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711, bug#42")
.atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
@@ -327,9 +324,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.MANDATORY).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.MANDATORY).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711, bug#42")
.atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
@@ -358,9 +355,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.SUGGESTED).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.SUGGESTED).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711, bug#42")
.atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
@@ -391,9 +388,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.MANDATORY).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.MANDATORY).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711, bug#42")
.atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
@@ -422,9 +419,9 @@
RevCommit commit = createMock(RevCommit.class);
CommitReceivedEvent event = new CommitReceivedEvent(command, project, null,
commit, null);
- expect(serverConfig.getEnum("commentLink", "ItsTestName", "association",
- ItsAssociationPolicy.OPTIONAL)).andReturn(
- ItsAssociationPolicy.SUGGESTED).atLeastOnce();
+
+ expect(itsConfig.getItsAssociationPolicy())
+ .andReturn(ItsAssociationPolicy.SUGGESTED).atLeastOnce();
expect(commit.getFullMessage()).andReturn("bug#4711, bug#42")
.atLeastOnce();
expect(commit.getId()).andReturn(commit).anyTimes();
@@ -491,10 +488,6 @@
bind(String.class).annotatedWith(PluginName.class)
.toInstance("ItsTestName");
- serverConfig = createMock(Config.class);
- bind(Config.class).annotatedWith(GerritServerConfig.class)
- .toInstance(serverConfig);
-
issueExtractor = createMock(IssueExtractor.class);
bind(IssueExtractor.class).toInstance(issueExtractor);