1 package net.pterodactylus.xdcc.core;
3 import static org.mockito.Matchers.any;
4 import static org.mockito.Matchers.anyString;
5 import static org.mockito.Mockito.mock;
6 import static org.mockito.Mockito.verify;
7 import static org.mockito.Mockito.when;
9 import net.pterodactylus.irc.Connection;
10 import net.pterodactylus.irc.ConnectionFactory;
11 import net.pterodactylus.xdcc.core.event.CoreStarted;
12 import net.pterodactylus.xdcc.data.Channel;
13 import net.pterodactylus.xdcc.data.Network;
15 import com.google.common.eventbus.EventBus;
16 import org.junit.After;
17 import org.junit.Before;
18 import org.junit.Test;
20 public class CoreTest {
22 private static final String TEMP_DIRECTORY = "/tmp";
23 private static final String FINAL_DIRECTORY = "/final";
24 private final EventBus eventBus = mock(EventBus.class);
25 private final ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
26 private final Core core =
27 new Core(eventBus, connectionFactory, TEMP_DIRECTORY, FINAL_DIRECTORY);
28 private final Connection firstConnection = mock(Connection.class);
29 private final Connection secondConnection = mock(Connection.class);
32 public void setupConnections() {
33 when(firstConnection.username(anyString())).thenReturn(firstConnection);
34 when(secondConnection.username(anyString())).thenReturn(secondConnection);
38 public void setupConnectionFactory() {
39 when(connectionFactory.createConnection("first.net", 6667)).thenReturn(firstConnection);
40 when(connectionFactory.createConnection("second.net", 6667)).thenReturn(secondConnection);
44 public void tearDown() {
49 public void startingTheCoreConnectsToConfiguredNetworks() {
50 Network firstNetwork = Network.builder("FirstNet")
56 Channel firstChannel = new Channel(firstNetwork, "#first");
57 Network secondNetwork = Network.builder("SecondNet")
63 Channel secondChannel = new Channel(secondNetwork, "#second");
64 core.addChannel(firstChannel);
65 core.addChannel(secondChannel);
67 verify(eventBus).post(any(CoreStarted.class));
68 verify(firstConnection).open();
69 verify(secondConnection).open();