Adding bandwidth tests

This commit is contained in:
Aya Hassan 2026-01-21 14:47:23 +01:00
parent d6428af91d
commit 8d8f770360

View File

@ -503,3 +503,54 @@ class TestE2E(StepsFilter, StepsStore, StepsRelay, StepsLightPush):
pubsub_topic=self.test_pubsub_topic, content_topics=self.test_content_topic, page_size=5, ascending="true"
)
assert len(store_response["messages"]) == 1, "Can't find stored message!!"
@pytest.mark.timeout(60 * 4)
def test_relay_2_nodes_bandwidth_high_vs_low(self):
self.node1 = WakuNode(NODE_1, f"node1_{self.test_id}")
self.node2 = WakuNode(NODE_2, f"node2_{self.test_id}")
self.node1.start(relay="true")
self.node2.start(relay="true", discv5_bootstrap_node=self.node1.get_enr_uri())
self.node1.set_relay_subscriptions([self.test_pubsub_topic])
self.node2.set_relay_subscriptions([self.test_pubsub_topic])
self.wait_for_autoconnection([self.node1, self.node2], hard_wait=10)
msg_count = 120
window_s = 20
self.tc.add_bandwidth(self.node2, rate="10mbit")
for _ in range(msg_count):
self.node1.send_relay_message(
self.create_message(),
self.test_pubsub_topic,
)
deadline = time() + window_s
high_bw_msgs = 0
while time() < deadline:
msgs = self.node2.get_relay_messages(self.test_pubsub_topic) or []
high_bw_msgs = max(high_bw_msgs, len(msgs))
sleep(0.5)
self.tc.add_bandwidth(self.node2, rate="256kbit")
for _ in range(msg_count):
self.node1.send_relay_message(
self.create_message(),
self.test_pubsub_topic,
)
deadline = time() + window_s
low_bw_msgs = 0
while time() < deadline:
msgs = self.node2.get_relay_messages(self.test_pubsub_topic) or []
low_bw_msgs = max(low_bw_msgs, len(msgs))
sleep(0.5)
logger.info(f"high_bw_msgs={high_bw_msgs} low_bw_msgs={low_bw_msgs} " f"msg_count={msg_count} window={window_s}s")
assert high_bw_msgs > 0
assert high_bw_msgs >= low_bw_msgs