From b0fa36befca02686c1693b967d7fdeedd09f3b76 Mon Sep 17 00:00:00 2001 From: aya Date: Tue, 29 Oct 2024 16:17:05 +0300 Subject: [PATCH] adding draft of test test_2_filter_nodes --- tests/e2e/test_e2e.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/e2e/test_e2e.py b/tests/e2e/test_e2e.py index dd31b3cc..0708109c 100644 --- a/tests/e2e/test_e2e.py +++ b/tests/e2e/test_e2e.py @@ -221,3 +221,41 @@ class TestE2E(StepsFilter, StepsStore, StepsRelay, StepsLightPush): delay(2) logger.debug(f"node5 makes request to get stored messages ") self.check_published_message_is_stored(page_size=50, ascending="true", store_node=self.node5, messages_to_check=[message]) + + def test_2_filter_nodes(self): + logger.debug(f"create 6 nodes") + self.node4 = WakuNode(NODE_2, f"node3_{self.test_id}") + self.node5 = WakuNode(NODE_2, f"node3_{self.test_id}") + self.node6 = WakuNode(NODE_2, f"node3_{self.test_id}") + + logger.debug(f"start 5 nodes with their corresponding config") + self.node1.start(relay="true", store="true") + self.node2.start(relay="true", store="true", discv5_bootstrap_node=self.node1.get_enr_uri()) + self.node3.start(relay="true", store="true", discv5_bootstrap_node=self.node2.get_enr_uri()) + self.node4.start(relay="true", filter="true", store="true", discv5_bootstrap_node=self.node3.get_enr_uri()) + self.node5.start(relay="false", filternode=self.node4.get_multiaddr_with_id(), discv5_bootstrap_node=self.node4.get_enr_uri()) + self.node6.start(relay="true", filter="true", filternode=self.node4.get_multiaddr_with_id()) + + logger.debug(f"subscribe nodes to relay pubsub topics") + self.node1.set_relay_subscriptions([self.test_pubsub_topic]) + self.node2.set_relay_subscriptions([self.test_pubsub_topic]) + self.node3.set_relay_subscriptions([self.test_pubsub_topic]) + self.node4.set_relay_subscriptions([self.test_pubsub_topic]) + self.node6.set_relay_subscriptions([self.test_pubsub_topic]) + + logger.debug(f"wait for all nodes auto connection") + node_list = [self.node1, self.node2, self.node3, self.node4] + self.wait_for_autoconnection(node_list, hard_wait=30) + + logger.debug(f"node6 subscribe to filter for pubsubtopic {self.test_pubsub_topic}") + self.node6.set_filter_subscriptions({"requestId": "1", "contentFilters": [self.test_content_topic], "pubsubTopic": self.test_pubsub_topic}) + self.node5.set_filter_subscriptions({"requestId": "1", "contentFilters": [self.test_content_topic], "pubsubTopic": self.test_pubsub_topic}) + + logger.debug(f" node1 publish message for topic {self.test_pubsub_topic}") + message = self.create_message() + m = self.publish_message(sender=self.node1, pubsub_topic=self.test_pubsub_topic, message=message) + delay(5) + messages_response = self.get_filter_messages(self.test_content_topic, pubsub_topic=self.test_pubsub_topic, node=self.node6) + logger.debug(f"response for node 6 is {messages_response}") + messages_response = self.get_filter_messages(self.test_content_topic, pubsub_topic=self.test_pubsub_topic, node=self.node5) + logger.debug(f" respoense for node5 is {messages_response}")