@@ -27,32 +27,39 @@ def setup_network(self):
27
27
connect_nodes_bi (self .nodes , 0 , 1 )
28
28
29
29
def run_test (self ):
30
- ###########################
31
- # setban/listbanned tests #
32
- ###########################
30
+ self . log . info ( "Test setban and listbanned RPCs" )
31
+
32
+ self . log . info ( "setban: successfully ban single IP address" )
33
33
assert_equal (len (self .nodes [1 ].getpeerinfo ()), 2 ) # node1 should have 2 connections to node0 at this point
34
34
self .nodes [1 ].setban ("127.0.0.1" , "add" )
35
35
time .sleep (3 ) # wait till the nodes are disconected
36
36
assert_equal (len (self .nodes [1 ].getpeerinfo ()), 0 ) # all nodes must be disconnected at this point
37
37
assert_equal (len (self .nodes [1 ].listbanned ()), 1 )
38
+
39
+ self .log .info ("clearbanned: successfully clear ban list" )
38
40
self .nodes [1 ].clearbanned ()
39
41
assert_equal (len (self .nodes [1 ].listbanned ()), 0 )
40
42
self .nodes [1 ].setban ("127.0.0.0/24" , "add" )
43
+
44
+ self .log .info ("setban: fail to ban an already banned subnet" )
41
45
assert_equal (len (self .nodes [1 ].listbanned ()), 1 )
42
- # This will throw an exception because 127.0.0.1 is within range 127.0.0.0/24
43
46
assert_raises_jsonrpc (- 23 , "IP/Subnet already banned" , self .nodes [1 ].setban , "127.0.0.1" , "add" )
44
- # This will throw an exception because 127.0.0.1/42 is not a real subnet
47
+
48
+ self .log .info ("setban: fail to ban an invalid subnet" )
45
49
assert_raises_jsonrpc (- 30 , "Error: Invalid IP/Subnet" , self .nodes [1 ].setban , "127.0.0.1/42" , "add" )
46
50
assert_equal (len (self .nodes [1 ].listbanned ()), 1 ) # still only one banned ip because 127.0.0.1 is within the range of 127.0.0.0/24
47
- # This will throw an exception because 127.0.0.1 was not added above
51
+
52
+ self .log .info ("setban remove: fail to unban a non-banned subnet" )
48
53
assert_raises_jsonrpc (- 30 , "Error: Unban failed" , self .nodes [1 ].setban , "127.0.0.1" , "remove" )
49
54
assert_equal (len (self .nodes [1 ].listbanned ()), 1 )
55
+
56
+ self .log .info ("setban remove: successfully unban subnet" )
50
57
self .nodes [1 ].setban ("127.0.0.0/24" , "remove" )
51
58
assert_equal (len (self .nodes [1 ].listbanned ()), 0 )
52
59
self .nodes [1 ].clearbanned ()
53
60
assert_equal (len (self .nodes [1 ].listbanned ()), 0 )
54
61
55
- # test persisted banlist
62
+ self . log . info ( "setban: test persistence across node restart" )
56
63
self .nodes [1 ].setban ("127.0.0.0/32" , "add" )
57
64
self .nodes [1 ].setban ("127.0.0.0/24" , "add" )
58
65
self .nodes [1 ].setban ("192.168.0.1" , "add" , 1 ) # ban for 1 seconds
@@ -74,15 +81,16 @@ def run_test(self):
74
81
self .nodes [1 ].clearbanned ()
75
82
connect_nodes_bi (self .nodes , 0 , 1 )
76
83
77
- ###########################
78
- # RPC disconnectnode test #
79
- ###########################
84
+ self . log . info ( "Test disconnectrnode RPCs" )
85
+
86
+ self . log . info ( "disconnectnode: successfully disconnect node" )
80
87
url = urllib .parse .urlparse (self .nodes [1 ].url )
81
88
self .nodes [0 ].disconnectnode (url .hostname + ":" + str (p2p_port (1 )))
82
89
time .sleep (2 ) # disconnecting a node needs a little bit of time
83
90
for node in self .nodes [0 ].getpeerinfo ():
84
91
assert (node ['addr' ] != url .hostname + ":" + str (p2p_port (1 )))
85
92
93
+ self .log .info ("disconnectnode: successfully reconnect node" )
86
94
connect_nodes_bi (self .nodes , 0 , 1 ) # reconnect the node
87
95
found = False
88
96
for node in self .nodes [0 ].getpeerinfo ():
0 commit comments