|
3 | 3 | # Distributed under the MIT software license, see the accompanying
|
4 | 4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
5 | 5 | """Test node disconnect and ban behavior"""
|
6 |
| -import urllib.parse |
7 | 6 |
|
8 | 7 | from test_framework.mininode import wait_until
|
9 | 8 | from test_framework.test_framework import BitcoinTestFramework
|
10 | 9 | from test_framework.util import (assert_equal,
|
11 | 10 | assert_raises_jsonrpc,
|
12 | 11 | connect_nodes_bi,
|
13 |
| - p2p_port, |
14 | 12 | start_node,
|
15 | 13 | stop_node,
|
16 | 14 | )
|
@@ -82,20 +80,15 @@ def run_test(self):
|
82 | 80 |
|
83 | 81 | self.log.info("Test disconnectrnode RPCs")
|
84 | 82 |
|
85 |
| - self.log.info("disconnectnode: successfully disconnect node") |
86 |
| - url = urllib.parse.urlparse(self.nodes[1].url) |
87 |
| - self.nodes[0].disconnectnode(url.hostname + ":" + str(p2p_port(1))) |
| 83 | + self.log.info("disconnectnode: successfully disconnect node by address") |
| 84 | + address1 = self.nodes[0].getpeerinfo()[0]['addr'] |
| 85 | + self.nodes[0].disconnectnode(address=address1) |
88 | 86 | wait_until(lambda: len(self.nodes[0].getpeerinfo()) == 1)
|
89 |
| - for node in self.nodes[0].getpeerinfo(): |
90 |
| - assert(node['addr'] != url.hostname + ":" + str(p2p_port(1))) |
| 87 | + assert not [node for node in self.nodes[0].getpeerinfo() if node['addr'] == address1] |
91 | 88 |
|
92 | 89 | self.log.info("disconnectnode: successfully reconnect node")
|
93 | 90 | connect_nodes_bi(self.nodes, 0, 1) # reconnect the node
|
94 |
| - found = False |
95 |
| - for node in self.nodes[0].getpeerinfo(): |
96 |
| - if node['addr'] == url.hostname + ":" + str(p2p_port(1)): |
97 |
| - found = True |
98 |
| - assert(found) |
| 91 | + assert [node for node in self.nodes[0].getpeerinfo() if node['addr'] == address1] |
99 | 92 |
|
100 | 93 | if __name__ == '__main__':
|
101 | 94 | DisconnectBanTest().main()
|
0 commit comments