PublishEventListener: Inject PluginConfigFactory via constructor
Instead of annotating the member as @Inject, initialize the member
in a constructor that is annotated. This is a preparatory step for
implementing tests in PublishEventListenerTest, since it allows the
class to be constructed with a mock PluginConfigFactory.
Change-Id: I098d1d0687e38d7ce6320fb0076bba6964f938d1
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java b/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java
index f366d8a..6fa6007 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java
@@ -42,7 +42,12 @@
private static final String ALL_PROJECTS = "All-Projects";
- @Inject private PluginConfigFactory configFactory;
+ private final PluginConfigFactory configFactory;
+
+ @Inject
+ PublishEventListener(PluginConfigFactory configFactory) {
+ this.configFactory = configFactory;
+ }
@Override
public void onEvent(Event event) {
diff --git a/src/test/java/com/cisco/gerrit/plugins/slack/PublishEventListenerTest.java b/src/test/java/com/cisco/gerrit/plugins/slack/PublishEventListenerTest.java
index 3729708..229f3ef 100644
--- a/src/test/java/com/cisco/gerrit/plugins/slack/PublishEventListenerTest.java
+++ b/src/test/java/com/cisco/gerrit/plugins/slack/PublishEventListenerTest.java
@@ -20,6 +20,7 @@
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
+import com.google.gerrit.server.config.PluginConfigFactory;
import com.google.gerrit.server.events.ChangeMergedEvent;
import com.google.gerrit.server.events.PatchSetCreatedEvent;
import org.junit.Before;
@@ -28,12 +29,13 @@
public class PublishEventListenerTest {
private PatchSetCreatedEvent mockPatchSetCreatedEvent = mock(PatchSetCreatedEvent.class);
private ChangeMergedEvent mockChangeMergedEvent = mock(ChangeMergedEvent.class);
+ private PluginConfigFactory mockConfigFactory = mock(PluginConfigFactory.class);
private PublishEventListener publishEventListener;
@Before
public void setup() throws Exception {
- publishEventListener = new PublishEventListener();
+ publishEventListener = new PublishEventListener(mockConfigFactory);
}
@Test