Make implicit expectations about Conduit explicit in Facate tests Change-Id: I5287019a3370070fded495436e18b24ffff01320
diff --git a/src/test/java/com/googlesource/gerrit/plugins/its/phabricator/PhabricatorItsFacadeTest.java b/src/test/java/com/googlesource/gerrit/plugins/its/phabricator/PhabricatorItsFacadeTest.java index c1d16f5..e04fdf3 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/its/phabricator/PhabricatorItsFacadeTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/its/phabricator/PhabricatorItsFacadeTest.java
@@ -15,6 +15,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; import com.google.gerrit.extensions.annotations.PluginName; @@ -30,69 +31,72 @@ public class PhabricatorItsFacadeTest extends LoggingMockingTestCase { private Injector injector; private Config serverConfig; + private Conduit conduit; private Conduit.Factory conduitFactory; @Test public void testCreateLinkForWebUiDifferentUrlAndText() { - mockUnconnectablePhabricator(); - PhabricatorItsFacade itsFacade = createPhabricatorItsFacade(); String actual = itsFacade.createLinkForWebui("Test-Url", "Test-Text"); assertThat(actual).isEqualTo("[[Test-Url|Test-Text]]"); + + verifyZeroInteractions(conduit); } @Test public void testCreateLinkForWebUiSameUrlAndText() { - mockUnconnectablePhabricator(); - PhabricatorItsFacade itsFacade = createPhabricatorItsFacade(); String actual = itsFacade.createLinkForWebui("Test-Url", "Test-Url"); assertThat(actual).isEqualTo("[[Test-Url]]"); + + verifyZeroInteractions(conduit); } @Test public void testCreateLinkForWebUiNullText() { - mockUnconnectablePhabricator(); - PhabricatorItsFacade itsFacade = createPhabricatorItsFacade(); String actual = itsFacade.createLinkForWebui("Test-Url", null); assertThat(actual).isEqualTo("[[Test-Url]]"); + + verifyZeroInteractions(conduit); } @Test public void testCreateLinkForWebUiEmptyText() { - mockUnconnectablePhabricator(); - PhabricatorItsFacade itsFacade = createPhabricatorItsFacade(); String actual = itsFacade.createLinkForWebui("Test-Url", ""); assertThat(actual).isEqualTo("[[Test-Url]]"); + + verifyZeroInteractions(conduit); } private PhabricatorItsFacade createPhabricatorItsFacade() { return injector.getInstance(PhabricatorItsFacade.class); } - private void mockUnconnectablePhabricator() { - when(serverConfig.getString("its-phabricator", null, "url")).thenReturn("<no-url>"); - when(serverConfig.getString("its-phabricator", null, "token")).thenReturn("none"); - } - @Override public void setUp() throws Exception { super.setUp(); + serverConfig = mock(Config.class); + conduitFactory = mock(Conduit.Factory.class); + conduit = mock(Conduit.class); + + when(serverConfig.getString("its-phabricator", null, "url")) + .thenReturn("http://phab.example.org/"); + when(serverConfig.getString("its-phabricator", null, "token")).thenReturn("cli-FOO"); + when(conduitFactory.create("http://phab.example.org/", "cli-FOO")).thenReturn(conduit); + injector = Guice.createInjector(new TestModule()); } private class TestModule extends FactoryModule { @Override protected void configure() { - serverConfig = mock(Config.class); - conduitFactory = mock(Conduit.Factory.class); bind(Config.class).annotatedWith(GerritServerConfig.class).toInstance(serverConfig); bind(String.class).annotatedWith(PluginName.class).toInstance("its-phabricator"); bind(Conduit.Factory.class).toInstance(conduitFactory);