Skip to content

Commit fa68d08

Browse files
author
MacroFake
committed
test: Add getpeerinfo test for missing version message
1 parent 9f65006 commit fa68d08

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

test/functional/rpc_net.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,54 @@ def test_getpeerinfo(self):
107107
# Check dynamically generated networks list in getpeerinfo help output.
108108
assert "(ipv4, ipv6, onion, i2p, cjdns, not_publicly_routable)" in self.nodes[0].help("getpeerinfo")
109109

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+
110158
def test_getnettotals(self):
111159
self.log.info("Test getnettotals")
112160
# Test getnettotals and getpeerinfo by doing a ping. The bytes

0 commit comments

Comments
 (0)