Inject identity loader instead of context into identity manager.
[Sone.git] / src / test / java / net / pterodactylus / sone / freenet / wot / IdentityManagerTest.java
1 package net.pterodactylus.sone.freenet.wot;
2
3 import static com.google.common.base.Optional.fromNullable;
4 import static com.google.common.base.Optional.of;
5 import static org.hamcrest.MatcherAssert.assertThat;
6 import static org.hamcrest.Matchers.is;
7 import static org.mockito.Mockito.doThrow;
8 import static org.mockito.Mockito.mock;
9 import static org.mockito.Mockito.verify;
10
11 import net.pterodactylus.sone.freenet.plugin.PluginException;
12
13 import com.google.common.eventbus.EventBus;
14 import org.junit.Test;
15
16 /**
17  * Unit test for {@link IdentityManager}.
18  *
19  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
20  */
21 public class IdentityManagerTest {
22
23         private final EventBus eventBus = mock(EventBus.class);
24         private final WebOfTrustConnector webOfTrustConnector = mock(WebOfTrustConnector.class);
25         private final IdentityManager identityManager = new IdentityManager(eventBus, webOfTrustConnector, new IdentityLoader(webOfTrustConnector, of(new Context("Test"))));
26
27         @Test
28         public void identityManagerPingsWotConnector() throws PluginException {
29                 assertThat(identityManager.isConnected(), is(true));
30                 verify(webOfTrustConnector).ping();
31         }
32
33         @Test
34         public void disconnectedWotConnectorIsRecognized() throws PluginException {
35                 doThrow(PluginException.class).when(webOfTrustConnector).ping();
36                 assertThat(identityManager.isConnected(), is(false));
37                 verify(webOfTrustConnector).ping();
38         }
39
40 }