Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions tests/store/test_page_size.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import pytest
from src.libs.common import to_base64
from src.steps.store import StepsStore
from src.libs.custom_logger import get_custom_logger

logger = get_custom_logger(__name__)


@pytest.mark.usefixtures("node_setup")
Expand Down Expand Up @@ -33,3 +36,31 @@ def test_different_page_size(self, page_size):
for node in self.store_nodes:
store_response = self.get_messages_from_store(node, page_size=page_size)
assert len(store_response.messages) == page_size, "Message count mismatch"

def test_extreme_number_page_size(self):
for i in range(150):
self.publish_message(message=self.create_message(payload=to_base64(f"Message_{i}")))
for node in self.store_nodes:
store_response = self.get_messages_from_store(node, page_size=1000000)
assert len(store_response.messages) == 100, "Message count mismatch"

def test_negative_number_page_size(self):
page_size = -1
for i in range(10):
self.publish_message(message=self.create_message(payload=to_base64(f"Message_{i}")))
logger.debug(f"requesting stored message with wrong page_size = {page_size}")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this log line shouldn't be inside this for loop but outside

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DOne

for node in self.store_nodes:
store_response = self.get_messages_from_store(node, page_size=page_size)
assert len(store_response.messages) == 10, "Message count mismatch"

def test_invalid_page_size(self):
page_size = "$2"
for i in range(10):
self.publish_message(message=self.create_message(payload=to_base64(f"Message_{i}")))
for node in self.store_nodes:
try:
store_response = self.get_messages_from_store(node, page_size=page_size)
raise Exception(f"invalid page number {page_size} was acepted !!")
except Exception as e:
logger.debug(f"the invalid page_size {page_size} wasn't accepted ")
assert e.args[0].find("400 Client Error: Bad Request for url"), "Error logged isn't for bad url"
18 changes: 18 additions & 0 deletions tests/store/test_sorting.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import pytest
from src.libs.common import to_base64
from src.steps.store import StepsStore
from src.libs.custom_logger import get_custom_logger

logger = get_custom_logger(__name__)


@pytest.mark.usefixtures("node_setup")
Expand All @@ -21,3 +24,18 @@ def test_store_sort_ascending(self, ascending):
assert response_message_hash_list == expected_message_hash_list[:5], "Message hash mismatch for acending order"
else:
assert response_message_hash_list == expected_message_hash_list[5:], "Message hash mismatch for descending order"

def test_store_invalid_ascending(self):
expected_message_hash_list = []
ascending = "##"
for i in range(4):
message = self.create_message(payload=to_base64(f"Message_{i}"))
self.publish_message(message=message)
expected_message_hash_list.append(self.compute_message_hash(self.test_pubsub_topic, message))
logger.debug(f"requesting stored messages with invalid ascending ={ascending}")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

for node in self.store_nodes:
store_response = self.get_messages_from_store(node, ascending=ascending, page_size=2)
response_message_hash_list = []
for index in range(len(store_response.messages)):
response_message_hash_list.append(store_response.message_hash(index))
assert response_message_hash_list == expected_message_hash_list[:2], "pages aren't forward as expected"
Loading