From b80118d9a0ac8db467ec695753331f2591dfa0d1 Mon Sep 17 00:00:00 2001 From: aya Date: Sun, 20 Oct 2024 11:53:32 +0300 Subject: [PATCH] adding more time tests --- tests/store/test_time_filter.py | 54 +++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/tests/store/test_time_filter.py b/tests/store/test_time_filter.py index a4308216..c6539ddd 100644 --- a/tests/store/test_time_filter.py +++ b/tests/store/test_time_filter.py @@ -1,3 +1,5 @@ +import time + import pytest from datetime import timedelta, datetime from src.libs.custom_logger import get_custom_logger @@ -129,3 +131,55 @@ class TestTimeFilter(StepsStore): ) logger.debug(f"response for wrong time message is {store_response.response}") assert len(store_response.messages) == 0, "got messages with start time after end time !" + + def test_time_filter_end_time_now(self): + self.ts_pass[3]["value"] = int((datetime.now() + timedelta(seconds=4)).timestamp() * 1e9) + start_time = self.ts_pass[0]["value"] + i = 0 + for timestamp in self.ts_pass: + message = self.create_message(timestamp=timestamp["value"]) + self.publish_message(message=message) + i += 1 + end_time = int(datetime.now().timestamp() * 1e9) + logger.debug(f"inquering stored messages with start time {start_time} after end time {end_time}") + for node in self.store_nodes: + store_response = self.get_messages_from_store(node, page_size=20, start_time=start_time, end_time=end_time, include_data=True) + logger.debug(f"number of messages stored for start time {start_time} and " f"end time = {end_time} is {len(store_response.messages)}") + assert len(store_response.messages) == 4, "number of messages retrieved doesn't match time filter " + + def test_time_filter_big_timestamp(self): + start_time = self.ts_pass[0]["value"] + for timestamp in self.ts_pass: + message = self.create_message(timestamp=timestamp["value"]) + self.publish_message(message=message) + end_time = int((datetime.now() + timedelta(days=8000)).timestamp() * 1e9) + logger.debug(f"inquering stored messages with start time {start_time} after end time {end_time}") + for node in self.store_nodes: + store_response = self.get_messages_from_store(node, page_size=20, start_time=start_time, end_time=end_time, include_data=True) + logger.debug(f"number of messages stored for start time {start_time} and " f"end time = {end_time} is {len(store_response.messages)}") + assert len(store_response.messages) == 6, "number of messages retrieved doesn't match time filter " + + def test_time_filter_small_timestamp(self): + start_time = self.ts_pass[0]["value"] + for timestamp in self.ts_pass: + message = self.create_message(timestamp=timestamp["value"]) + self.publish_message(message=message) + end_time = self.ts_pass[5]["value"] + 1 + logger.debug(f"inquering stored messages with start time {start_time} after end time {end_time}") + for node in self.store_nodes: + store_response = self.get_messages_from_store(node, page_size=20, start_time=start_time, end_time=end_time, include_data=True) + logger.debug(f"number of messages stored for start time {start_time} and " f"end time = {end_time} is {len(store_response.messages)}") + + assert len(store_response.messages) == 6, "number of messages retrieved doesn't match time filter " + + def test_time_filter_negative_timestamp(self): + for timestamp in self.ts_pass: + message = self.create_message(timestamp=timestamp["value"]) + self.publish_message(message=message) + end_time = -10000 + logger.debug(f"inquering stored messages with end time {end_time}") + for node in self.store_nodes: + store_response = self.get_messages_from_store(node, page_size=20, end_time=end_time, include_data=True) + logger.debug(f"number of messages stored for " f"end time = {end_time} is {len(store_response.messages)}") + + assert len(store_response.messages) == 0, "number of messages retrieved doesn't match time filter "