diff --git a/src/benchmark_scenarios/communities.py b/src/benchmark_scenarios/communities.py index 6c6c7db..d766e9d 100644 --- a/src/benchmark_scenarios/communities.py +++ b/src/benchmark_scenarios/communities.py @@ -246,3 +246,28 @@ async def isolated_traffic_chat_messages_2(): logger.info("Shutting down node connections") await asyncio.gather(*[node.shutdown() for node in relay_nodes.values()]) logger.info("Finished store_performance") + +async def isolated_traffic_request_to_join(): + # 1 community owner + # 500 user nodes + # 250 in community + # Measure non-joined nodes have minimal traffic not correlated to community request traffic + kube_utils.setup_kubernetes_client() + backend_relay_pods = kube_utils.get_pods("status-backend-relay", "status-go-test") + relay_nodes = await setup_status.initialize_nodes_application(backend_relay_pods) + + name = f"test_community_{''.join(random.choices(string.ascii_letters, k=10))}" + logger.info(f"Creating community {name}") + response = await relay_nodes["status-backend-relay-0"].wakuext_service.create_community(name) + community_id = response.get("result", {}).get("communities", [{}])[0].get("id") + logger.info(f"Community {name} created with ID {community_id}") + + owner = relay_nodes["status-backend-relay-0"] + nodes = [key for key in relay_nodes.keys() if key != "status-backend-relay-0"] + nodes_250 = nodes[:250] + join_ids = await request_join_nodes_to_community(relay_nodes, nodes_250, community_id) + chat_id = await accept_community_requests(owner, join_ids) + + logger.info("Shutting down node connections") + await asyncio.gather(*[node.shutdown() for node in relay_nodes.values()]) + logger.info("Finished store_performance")