@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 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)); }
private NettyP2PNetwork mockNettyP2PNetwork() { final DiscoveryConfiguration noDiscovery = DiscoveryConfiguration.create().setActive(false); final SECP256K1.KeyPair keyPair = SECP256K1.KeyPair.generate(); final Capability cap = Capability.create("eth", 63); final NetworkingConfiguration networkingConfiguration = NetworkingConfiguration.create() .setDiscovery(noDiscovery) .setSupportedProtocols(subProtocol()) .setRlpx(RlpxConfiguration.create().setBindPort(0)); return new NettyP2PNetwork( mock(Vertx.class), keyPair, networkingConfiguration, singletonList(cap), () -> false, new PeerBlacklist(), new NoOpMetricsSystem(), new NodeWhitelistController(PermissioningConfiguration.createDefault())); }
final NodeWhitelistController localWhitelist = new NodeWhitelistController(config); localWhitelist.addNode(mockPeer()); final SubProtocol subprotocol = subProtocol(); final Capability cap = Capability.create(subprotocol.getName(), 63); try (final P2PNetwork localNetwork =
final SECP256K1.KeyPair listenKp = SECP256K1.KeyPair.generate(); final SubProtocol subprotocol1 = subProtocol(); final Capability cap1 = Capability.create(subprotocol1.getName(), 63); final SubProtocol subprotocol2 = subProtocol2(); final Capability cap2 = Capability.create(subprotocol2.getName(), 63); try (final P2PNetwork listener =
private PeerConnection mockPeerConnection() { return mockPeerConnection(BytesValue.fromHexString("0x00")); }
final PeerBlacklist remoteBlacklist = new PeerBlacklist(); final SubProtocol subprotocol = subProtocol(); final Capability cap = Capability.create(subprotocol.getName(), 63); try (final P2PNetwork localNetwork =
@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 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); } }
NetworkingConfiguration.create() .setDiscovery(noDiscovery) .setSupportedProtocols(subProtocol()) .setRlpx(RlpxConfiguration.create().setBindPort(0)), singletonList(cap), SECP256K1.KeyPair.generate(), NetworkingConfiguration.create() .setSupportedProtocols(subProtocol()) .setRlpx(RlpxConfiguration.create().setBindPort(0)) .setDiscovery(noDiscovery),
@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); }
final int maxPeers = 1; final List<Capability> cap = singletonList(Capability.create("eth", 62)); final SubProtocol subProtocol = subProtocol(); try (final P2PNetwork listener = new NettyP2PNetwork(
@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); }
final SECP256K1.KeyPair listenKp = SECP256K1.KeyPair.generate(); final List<Capability> capabilities = singletonList(Capability.create("eth", 62)); final SubProtocol subProtocol = subProtocol(); try (final P2PNetwork listener = new NettyP2PNetwork(
@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); }