diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8fffa800..5ba2c88e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,17 +12,17 @@ on: required: true description: "Node that usually publishes messages. Used for all tests" type: string - default: "wakuorg/nwaku:latest" + default: "harbor.status.im/wakuorg/nwaku:latest" node2: required: true description: "Node that usually queries for published messages. Used for all tests" type: string - default: "wakuorg/go-waku:latest" + default: "harbor.status.im/wakuorg/go-waku:latest" additional_nodes: required: false description: "Additional optional nodes used in e2e tests, separated by ," type: string - default: "wakuorg/nwaku:latest,wakuorg/go-waku:latest" + default: "harbor.status.im/wakuorg/nwaku:latest,harbor.status.im/wakuorg/go-waku:latest" protocol: description: "Protocol used to comunicate inside the network" required: true diff --git a/src/env_vars.py b/src/env_vars.py index d0345f7b..5af94bd5 100644 --- a/src/env_vars.py +++ b/src/env_vars.py @@ -16,8 +16,8 @@ def get_env_var(var_name, default=None): # Configuration constants. Need to be upercase to appear in reports DEFAULT_NWAKU = "harbor.status.im/wakuorg/nwaku:latest" DEFAULT_GOWAKU = "harbor.status.im/wakuorg/go-waku:latest" -NODE_1 = get_env_var("NODE_1", DEFAULT_GOWAKU) -NODE_2 = get_env_var("NODE_2", DEFAULT_NWAKU) +NODE_1 = get_env_var("NODE_1", DEFAULT_NWAKU) +NODE_2 = get_env_var("NODE_2", DEFAULT_GOWAKU) ADDITIONAL_NODES = get_env_var("ADDITIONAL_NODES", f"{DEFAULT_NWAKU},{DEFAULT_GOWAKU}") # more nodes need to follow the NODE_X pattern DOCKER_LOG_DIR = get_env_var("DOCKER_LOG_DIR", "./log/docker") diff --git a/src/node/api_clients/rest.py b/src/node/api_clients/rest.py index cfa059ea..10268db6 100644 --- a/src/node/api_clients/rest.py +++ b/src/node/api_clients/rest.py @@ -52,6 +52,10 @@ class REST(BaseClient): ping_subscriptions_response = self.rest_call("get", f"filter/v2/subscriptions/{quote(request_id, safe='')}") return ping_subscriptions_response.json() - def get_filter_messages(self, content_topic): - get_messages_response = self.rest_call("get", f"filter/v2/messages/{quote(content_topic, safe='')}") + def get_filter_messages(self, content_topic, pubsub_topic=None): + if pubsub_topic is not None: + endpoint = f"filter/v2/messages/{quote(pubsub_topic, safe='')}/{quote(content_topic, safe='')}" + else: + endpoint = f"filter/v2/messages/{quote(content_topic, safe='')}" + get_messages_response = self.rest_call("get", endpoint) return get_messages_response.json() diff --git a/src/node/waku_node.py b/src/node/waku_node.py index d0032b36..db4cbe3d 100644 --- a/src/node/waku_node.py +++ b/src/node/waku_node.py @@ -177,8 +177,8 @@ class WakuNode: else: return self._api.ping_filter_subscriptions(request_id) - def get_filter_messages(self, content_topic): - return self._api.get_filter_messages(content_topic) + def get_filter_messages(self, content_topic, pubsub_topic=None): + return self._api.get_filter_messages(content_topic, pubsub_topic) def get_metrics(self): if self.is_nwaku(): diff --git a/src/steps/filter.py b/src/steps/filter.py index 864e8ac1..b85160fb 100644 --- a/src/steps/filter.py +++ b/src/steps/filter.py @@ -90,7 +90,7 @@ class StepsFilter: delay(message_propagation_delay) for index, peer in enumerate(peer_list): logger.debug(f"Checking that peer NODE_{index + 1}:{peer.image} can find the published message") - get_messages_response = self.get_filter_messages(message["contentTopic"], node=peer) + get_messages_response = self.get_filter_messages(message["contentTopic"], pubsub_topics=pubsub_topic, node=peer) assert get_messages_response, f"Peer NODE_{index}:{peer.image} couldn't find any messages" assert len(get_messages_response) == 1, f"Expected 1 message but got {len(get_messages_response)}" waku_message = WakuMessage(get_messages_response) @@ -167,10 +167,13 @@ class StepsFilter: self.node1.set_relay_subscriptions(pubsub_topics) @allure.step - def get_filter_messages(self, content_topic, node=None): + def get_filter_messages(self, content_topic, pubsub_topics=None, node=None): if node is None: node = self.node2 - return node.get_filter_messages(content_topic) + if node.is_gowaku(): + return node.get_filter_messages(content_topic, pubsub_topics) + else: + return node.get_filter_messages(content_topic) @allure.step def create_message(self, **kwargs):