@@ -66,6 +66,7 @@ def run_test(self):
66
66
self .test_getaddednodeinfo ()
67
67
self .test_service_flags ()
68
68
self .test_getnodeaddresses ()
69
+ self .test_addpeeraddress ()
69
70
70
71
def test_connection_count (self ):
71
72
self .log .info ("Test getconnectioncount" )
@@ -256,6 +257,30 @@ def test_getnodeaddresses(self):
256
257
assert_raises_rpc_error (- 8 , "Address count out of range" , self .nodes [0 ].getnodeaddresses , - 1 )
257
258
assert_raises_rpc_error (- 8 , "Network not recognized: Foo" , self .nodes [0 ].getnodeaddresses , 1 , "Foo" )
258
259
260
+ def test_addpeeraddress (self ):
261
+ self .log .info ("Test addpeeraddress" )
262
+ node = self .nodes [1 ]
263
+
264
+ self .log .debug ("Test that addpeerinfo is a hidden RPC" )
265
+ # It is hidden from general help, but its detailed help may be called directly.
266
+ assert "addpeerinfo" not in node .help ()
267
+ assert "addpeerinfo" in node .help ("addpeerinfo" )
268
+
269
+ self .log .debug ("Test that adding an empty address fails" )
270
+ assert_equal (node .addpeeraddress (address = "" , port = 8333 ), {"success" : False })
271
+ assert_equal (node .getnodeaddresses (count = 0 ), [])
272
+
273
+ self .log .debug ("Test that adding a valid address succeeds" )
274
+ assert_equal (node .addpeeraddress (address = "1.2.3.4" , port = 8333 ), {"success" : True })
275
+ addrs = node .getnodeaddresses (count = 0 )
276
+ assert_equal (len (addrs ), 1 )
277
+ assert_equal (addrs [0 ]["address" ], "1.2.3.4" )
278
+ assert_equal (addrs [0 ]["port" ], 8333 )
279
+
280
+ self .log .debug ("Test that adding the same address again when already present fails" )
281
+ assert_equal (node .addpeeraddress (address = "1.2.3.4" , port = 8333 ), {"success" : False })
282
+ assert_equal (len (node .getnodeaddresses (count = 0 )), 1 )
283
+
259
284
260
285
if __name__ == '__main__' :
261
286
NetTest ().main ()
0 commit comments