@@ -69,6 +69,7 @@ def run_test(self):
69
69
self .test_getaddednodeinfo ()
70
70
self .test_service_flags ()
71
71
self .test_getnodeaddresses ()
72
+ self .test_addpeeraddress ()
72
73
73
74
def test_connection_count (self ):
74
75
self .log .info ("Test getconnectioncount" )
@@ -236,6 +237,30 @@ def test_getnodeaddresses(self):
236
237
assert_raises_rpc_error (- 8 , "Address count out of range" , self .nodes [0 ].getnodeaddresses , - 1 )
237
238
assert_raises_rpc_error (- 8 , "Network not recognized: Foo" , self .nodes [0 ].getnodeaddresses , 1 , "Foo" )
238
239
240
+ def test_addpeeraddress (self ):
241
+ self .log .info ("Test addpeeraddress" )
242
+ node = self .nodes [1 ]
243
+
244
+ self .log .debug ("Test that addpeerinfo is a hidden RPC" )
245
+ # It is hidden from general help, but its detailed help may be called directly.
246
+ assert "addpeerinfo" not in node .help ()
247
+ assert "addpeerinfo" in node .help ("addpeerinfo" )
248
+
249
+ self .log .debug ("Test that adding an empty address fails" )
250
+ assert_equal (node .addpeeraddress (address = "" , port = 8333 ), {"success" : False })
251
+ assert_equal (node .getnodeaddresses (count = 0 ), [])
252
+
253
+ self .log .debug ("Test that adding a valid address succeeds" )
254
+ assert_equal (node .addpeeraddress (address = "1.2.3.4" , port = 8333 ), {"success" : True })
255
+ addrs = node .getnodeaddresses (count = 0 )
256
+ assert_equal (len (addrs ), 1 )
257
+ assert_equal (addrs [0 ]["address" ], "1.2.3.4" )
258
+ assert_equal (addrs [0 ]["port" ], 8333 )
259
+
260
+ self .log .debug ("Test that adding the same address again when already present fails" )
261
+ assert_equal (node .addpeeraddress (address = "1.2.3.4" , port = 8333 ), {"success" : False })
262
+ assert_equal (len (node .getnodeaddresses (count = 0 )), 1 )
263
+
239
264
240
265
if __name__ == '__main__' :
241
266
NetTest ().main ()
0 commit comments