Skip to content

Commit 50fddc4

Browse files
author
Rupayan Ghosh
committed
read timestamp in tests
1 parent dc221a6 commit 50fddc4

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

tests/test_bootstrap.py

+28-4
Original file line numberDiff line numberDiff line change
@@ -915,11 +915,13 @@ def test_log_error_standard_log_sink(self, mock_stdout):
915915

916916
def test_log_error_framed_log_sink(self):
917917
with NamedTemporaryFile() as temp_file:
918+
before = int(time.time_ns() / 1000)
918919
with bootstrap.FramedTelemetryLogSink(
919920
os.open(temp_file.name, os.O_CREAT | os.O_RDWR)
920921
) as log_sink:
921922
err_to_log = bootstrap.make_error("Error message", "ErrorType", None)
922923
bootstrap.log_error(err_to_log, log_sink)
924+
after = int(time.time_ns() / 1000)
923925

924926
expected_logged_error = (
925927
"[ERROR] ErrorType: Error message\nTraceback (most recent call last):"
@@ -934,7 +936,11 @@ def test_log_error_framed_log_sink(self):
934936
length = int.from_bytes(content[4:8], "big")
935937
self.assertEqual(length, len(expected_logged_error.encode("utf8")))
936938

937-
actual_message = content[8:].decode()
939+
timestamp = int.from_bytes(content[8:16], "big")
940+
self.assertTrue(before <= timestamp)
941+
self.assertTrue(timestamp <= after)
942+
943+
actual_message = content[16:].decode()
938944
self.assertEqual(actual_message, expected_logged_error)
939945

940946
@patch("sys.stdout", new_callable=StringIO)
@@ -952,13 +958,15 @@ def test_log_error_indentation_standard_log_sink(self, mock_stdout):
952958

953959
def test_log_error_indentation_framed_log_sink(self):
954960
with NamedTemporaryFile() as temp_file:
961+
before = int(time.time_ns() / 1000)
955962
with bootstrap.FramedTelemetryLogSink(
956963
os.open(temp_file.name, os.O_CREAT | os.O_RDWR)
957964
) as log_sink:
958965
err_to_log = bootstrap.make_error(
959966
"Error message", "ErrorType", [" line1 ", " line2 ", " "]
960967
)
961968
bootstrap.log_error(err_to_log, log_sink)
969+
after = int(time.time_ns() / 1000)
962970

963971
expected_logged_error = (
964972
"[ERROR] ErrorType: Error message\nTraceback (most recent call last):"
@@ -974,7 +982,11 @@ def test_log_error_indentation_framed_log_sink(self):
974982
length = int.from_bytes(content[4:8], "big")
975983
self.assertEqual(length, len(expected_logged_error.encode("utf8")))
976984

977-
actual_message = content[8:].decode()
985+
timestamp = int.from_bytes(content[8:16], "big")
986+
self.assertTrue(before <= timestamp)
987+
self.assertTrue(timestamp <= after)
988+
989+
actual_message = content[16:].decode()
978990
self.assertEqual(actual_message, expected_logged_error)
979991

980992
@patch("sys.stdout", new_callable=StringIO)
@@ -989,13 +1001,15 @@ def test_log_error_empty_stacktrace_line_standard_log_sink(self, mock_stdout):
9891001

9901002
def test_log_error_empty_stacktrace_line_framed_log_sink(self):
9911003
with NamedTemporaryFile() as temp_file:
1004+
before = int(time.time_ns() / 1000)
9921005
with bootstrap.FramedTelemetryLogSink(
9931006
os.open(temp_file.name, os.O_CREAT | os.O_RDWR)
9941007
) as log_sink:
9951008
err_to_log = bootstrap.make_error(
9961009
"Error message", "ErrorType", ["line1", "", "line2"]
9971010
)
9981011
bootstrap.log_error(err_to_log, log_sink)
1012+
after = int(time.time_ns() / 1000)
9991013

10001014
expected_logged_error = (
10011015
"[ERROR] ErrorType: Error message\nTraceback "
@@ -1011,12 +1025,17 @@ def test_log_error_empty_stacktrace_line_framed_log_sink(self):
10111025
length = int.from_bytes(content[4:8], "big")
10121026
self.assertEqual(length, len(expected_logged_error))
10131027

1014-
actual_message = content[8:].decode()
1028+
timestamp = int.from_bytes(content[8:16], "big")
1029+
self.assertTrue(before <= timestamp)
1030+
self.assertTrue(timestamp <= after)
1031+
1032+
actual_message = content[16:].decode()
10151033
self.assertEqual(actual_message, expected_logged_error)
10161034

10171035
# Just to ensure we are not logging the requestId from error response, just sending in the response
10181036
def test_log_error_invokeId_line_framed_log_sink(self):
10191037
with NamedTemporaryFile() as temp_file:
1038+
before = int(time.time_ns() / 1000)
10201039
with bootstrap.FramedTelemetryLogSink(
10211040
os.open(temp_file.name, os.O_CREAT | os.O_RDWR)
10221041
) as log_sink:
@@ -1027,6 +1046,7 @@ def test_log_error_invokeId_line_framed_log_sink(self):
10271046
"testrequestId",
10281047
)
10291048
bootstrap.log_error(err_to_log, log_sink)
1049+
after = int(time.time_ns() / 1000)
10301050

10311051
expected_logged_error = (
10321052
"[ERROR] ErrorType: Error message\nTraceback "
@@ -1042,7 +1062,11 @@ def test_log_error_invokeId_line_framed_log_sink(self):
10421062
length = int.from_bytes(content[4:8], "big")
10431063
self.assertEqual(length, len(expected_logged_error))
10441064

1045-
actual_message = content[8:].decode()
1065+
timestamp = int.from_bytes(content[8:16], "big")
1066+
self.assertTrue(before <= timestamp)
1067+
self.assertTrue(timestamp <= after)
1068+
1069+
actual_message = content[16:].decode()
10461070
self.assertEqual(actual_message, expected_logged_error)
10471071

10481072

0 commit comments

Comments
 (0)