fix filter get message

This commit is contained in:
fbarbu15 2023-12-21 13:52:00 +02:00
parent 692213ceeb
commit 8e75665a5d
No known key found for this signature in database
GPG Key ID: D75221C8DEA22501
5 changed files with 19 additions and 12 deletions

View File

@ -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

View File

@ -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")

View File

@ -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()

View File

@ -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():

View File

@ -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):