@Test public void shouldSendClientQuittingWhenNetworkStops() { final NettyP2PNetwork nettyP2PNetwork = mockNettyP2PNetwork(); final Peer peer = mockPeer(); final PeerConnection peerConnection = mockPeerConnection(); nettyP2PNetwork.connect(peer).complete(peerConnection); nettyP2PNetwork.stop(); verify(peerConnection).disconnect(eq(DisconnectReason.CLIENT_QUITTING)); }
@Test public void checkMaintainedConnectionPeersDoesntReconnectPendingPeers() { final NettyP2PNetwork network = spy(mockNettyP2PNetwork()); final Peer peer = mockPeer(); network.pendingConnections.put(peer, new CompletableFuture<>()); network.checkMaintainedConnectionPeers(); verify(network, times(0)).connect(peer); }
@Test public void checkMaintainedConnectionPeersDoesntReconnectConnectedPeers() { final NettyP2PNetwork network = spy(mockNettyP2PNetwork()); final Peer peer = mockPeer(); verify(network, never()).connect(peer); assertThat(network.addMaintainConnectionPeer(peer)).isTrue(); verify(network, times(1)).connect(peer); { final CompletableFuture<PeerConnection> connection; connection = network.pendingConnections.remove(peer); assertThat(connection).isNotNull(); assertThat(connection.cancel(true)).isTrue(); } { final PeerConnection peerConnection = mockPeerConnection(peer.getId()); network.connections.registerConnection(peerConnection); network.checkMaintainedConnectionPeers(); verify(network, times(1)).connect(peer); } }
@Test public void addingMaintainedNetworkPeerStartsConnection() { final NettyP2PNetwork network = spy(mockNettyP2PNetwork()); final Peer peer = mockPeer(); assertThat(network.addMaintainConnectionPeer(peer)).isTrue(); assertThat(network.peerMaintainConnectionList).contains(peer); verify(network, times(1)).connect(peer); }
@Test public void addingRepeatMaintainedPeersReturnsFalse() { final NettyP2PNetwork network = mockNettyP2PNetwork(); final Peer peer = mockPeer(); assertThat(network.addMaintainConnectionPeer(peer)).isTrue(); assertThat(network.addMaintainConnectionPeer(peer)).isFalse(); }
@Test public void checkMaintainedConnectionPeersTriesToConnect() { final NettyP2PNetwork network = spy(mockNettyP2PNetwork()); final Peer peer = mockPeer(); network.peerMaintainConnectionList.add(peer); network.checkMaintainedConnectionPeers(); verify(network, times(1)).connect(peer); }
@Test public void shouldntAttemptNewConnectionToPendingPeer() { final NettyP2PNetwork nettyP2PNetwork = mockNettyP2PNetwork(); final Peer peer = mockPeer(); final CompletableFuture<PeerConnection> connectingFuture = nettyP2PNetwork.connect(peer); assertThat(nettyP2PNetwork.connect(peer)).isEqualTo(connectingFuture); }
final NodeWhitelistController localWhitelist = new NodeWhitelistController(config); localWhitelist.addNode(mockPeer());