@@ -107,6 +107,54 @@ def test_getpeerinfo(self):
107
107
# Check dynamically generated networks list in getpeerinfo help output.
108
108
assert "(ipv4, ipv6, onion, i2p, cjdns, not_publicly_routable)" in self .nodes [0 ].help ("getpeerinfo" )
109
109
110
+ self .log .info ("Check getpeerinfo output before a version message was sent" )
111
+ no_version_peer_id = 2
112
+ no_version_peer_conntime = int (time .time ())
113
+ self .nodes [0 ].setmocktime (no_version_peer_conntime )
114
+ with self .nodes [0 ].assert_debug_log ([f"Added connection peer={ no_version_peer_id } " ]):
115
+ self .nodes [0 ].add_p2p_connection (P2PInterface (), send_version = False , wait_for_verack = False )
116
+ self .nodes [0 ].setmocktime (0 )
117
+ peer_info = self .nodes [0 ].getpeerinfo ()[no_version_peer_id ]
118
+ peer_info .pop ("addr" )
119
+ peer_info .pop ("addrbind" )
120
+ assert_equal (
121
+ peer_info ,
122
+ {
123
+ "addr_processed" : 0 ,
124
+ "addr_rate_limited" : 0 ,
125
+ "addr_relay_enabled" : False ,
126
+ "bip152_hb_from" : False ,
127
+ "bip152_hb_to" : False ,
128
+ "bytesrecv" : 0 ,
129
+ "bytesrecv_per_msg" : {},
130
+ "bytessent" : 0 ,
131
+ "bytessent_per_msg" : {},
132
+ "connection_type" : "inbound" ,
133
+ "conntime" : no_version_peer_conntime ,
134
+ "id" : no_version_peer_id ,
135
+ "inbound" : True ,
136
+ "inflight" : [],
137
+ "last_block" : 0 ,
138
+ "last_transaction" : 0 ,
139
+ "lastrecv" : 0 ,
140
+ "lastsend" : 0 ,
141
+ "minfeefilter" : Decimal ("0E-8" ),
142
+ "network" : "not_publicly_routable" ,
143
+ "permissions" : [],
144
+ "presynced_headers" : - 1 ,
145
+ "relaytxes" : False ,
146
+ "services" : "0000000000000000" ,
147
+ "servicesnames" : [],
148
+ "startingheight" : - 1 ,
149
+ "subver" : "" ,
150
+ "synced_blocks" : - 1 ,
151
+ "synced_headers" : - 1 ,
152
+ "timeoffset" : 0 ,
153
+ "version" : 0 ,
154
+ },
155
+ )
156
+ self .nodes [0 ].disconnect_p2ps ()
157
+
110
158
def test_getnettotals (self ):
111
159
self .log .info ("Test getnettotals" )
112
160
# Test getnettotals and getpeerinfo by doing a ping. The bytes
0 commit comments