summaryrefslogtreecommitdiff
path: root/same/src/test/java/com/orbekk/same/ClientServiceImplTest.java
blob: 69e451153817e0b22e9e47dbcd330c2bffc521e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.orbekk.same;

import static org.junit.Assert.*;

import org.junit.Test;
import static org.mockito.Mockito.*;

public class ClientServiceImplTest {
    private State state = new State("ClientNetwork");
    private TestConnectionManager connections = new TestConnectionManager();
    private TestBroadcaster broadcaster = new TestBroadcaster();
    private ClientServiceImpl client = new ClientServiceImpl(state, connections);
    
    @Test public void testSetState() {
        client.setState("TestState", "Test data", 100);
        assertEquals(100, state.getRevision("TestState"));
        assertEquals("Test data", state.getDataOf("TestState"));
    }
    
    @Test public void testNetworkListener() {
        NetworkNotificationListener listener =
                mock(NetworkNotificationListener.class);
        client.setNetworkListener(listener);
        client.notifyNetwork("MyNetwork", "MasterUrl");
        verify(listener).notifyNetwork("MyNetwork", "MasterUrl");
    }
    
    @Test public void discover() {
        client.setState(".masterUrl", "master", 1);
        ClientServiceImpl mockClient = mock(ClientServiceImpl.class);
        connections.clientMap.put("mockClient/ClientService.json",
                mockClient);
        client.discover("mockClient");
        verify(mockClient).notifyNetwork("ClientNetwork", "master");
    }
}