66
77import pytest
88import json
9- from datetime import datetime
9+ from datetime import datetime, timezone
1010
1111from aws_durable_execution_sdk_python_testing.exceptions import (
1212 InvalidParameterValueException,
@@ -404,11 +404,11 @@ def test_serialize_simple_dict():
404404def test_serialize_datetime():
405405 """Test serialization of datetime objects."""
406406 serializer = JSONSerializer()
407- now = datetime(2025, 11, 5, 16, 30, 9, 895000)
407+ now = datetime(2025, 11, 5, 16, 30, 9, 895000, tzinfo=timezone.utc )
408408 data = {"timestamp": now}
409409
410410 result = serializer.to_bytes(data)
411- expected = b'{"timestamp":1762378209 .895}'
411+ expected = b'{"timestamp":1762360209 .895}'
412412
413413 assert result == expected
414414 assert isinstance(result, bytes)
@@ -420,7 +420,7 @@ def test_serialize_datetime():
420420def test_serialize_nested_datetime():
421421 """Test serialization of nested structures with datetime."""
422422 serializer = JSONSerializer()
423- now = datetime(2025, 11, 5, 16, 30, 9)
423+ now = datetime(2025, 11, 5, 16, 30, 9, tzinfo=timezone.utc )
424424 data = {
425425 "event": "user_login",
426426 "timestamp": now,
@@ -430,9 +430,9 @@ def test_serialize_nested_datetime():
430430 result = serializer.to_bytes(data)
431431 expected = (
432432 b'{"event":"user_login",'
433- b'"timestamp":1762378209 .0,'
434- b'"metadata":{"created_at":1762378209 .0,'
435- b'"updated_at":1762378209 .0}}'
433+ b'"timestamp":1762360209 .0,'
434+ b'"metadata":{"created_at":1762360209 .0,'
435+ b'"updated_at":1762360209 .0}}'
436436 )
437437
438438 assert result == expected
@@ -445,16 +445,16 @@ def test_serialize_nested_datetime():
445445def test_serialize_list_with_datetime():
446446 """Test serialization of list containing datetime."""
447447 serializer = JSONSerializer()
448- now = datetime(2025, 11, 5, 16, 30, 9)
448+ now = datetime(2025, 11, 5, 16, 30, 9, tzinfo=timezone.utc )
449449 data = {
450450 "events": [{"time": now, "action": "login"}, {"time": now, "action": "logout"}]
451451 }
452452
453453 result = serializer.to_bytes(data)
454454 expected = (
455455 b'{"events":['
456- b'{"time":1762378209 .0,"action":"login"},'
457- b'{"time":1762378209 .0,"action":"logout"}'
456+ b'{"time":1762360209 .0,"action":"login"},'
457+ b'{"time":1762360209 .0,"action":"logout"}'
458458 b"]}"
459459 )
460460
@@ -468,7 +468,7 @@ def test_serialize_list_with_datetime():
468468def test_serialize_mixed_types():
469469 """Test serialization of mixed data types."""
470470 serializer = JSONSerializer()
471- now = datetime(2025, 11, 5, 16, 30, 9)
471+ now = datetime(2025, 11, 5, 16, 30, 9, tzinfo=timezone.utc )
472472 data = {
473473 "string": "test",
474474 "number": 42,
@@ -487,7 +487,7 @@ def test_serialize_mixed_types():
487487 b'"boolean":true,'
488488 b'"null":null,'
489489 b'"list":[1,2,3],'
490- b'"datetime":1762378209 .0}'
490+ b'"datetime":1762360209 .0}'
491491 )
492492
493493 assert result == expected
@@ -546,35 +546,35 @@ def test_serialize_circular_reference_raises_exception():
546546def test_serialize_datetime_with_microseconds():
547547 """Test serialization of datetime with microseconds."""
548548 serializer = JSONSerializer()
549- now = datetime(2025, 11, 5, 16, 30, 9, 123456)
549+ now = datetime(2025, 11, 5, 16, 30, 9, 123456, tzinfo=timezone.utc )
550550 data = {"timestamp": now}
551551
552552 result = serializer.to_bytes(data)
553- expected = b'{"timestamp":1762378209 .123456}'
553+ expected = b'{"timestamp":1762360209 .123456}'
554554
555555 assert result == expected
556556
557557
558558def test_serialize_datetime_without_microseconds():
559559 """Test serialization of datetime without microseconds."""
560560 serializer = JSONSerializer()
561- now = datetime(2025, 11, 5, 16, 30, 9)
561+ now = datetime(2025, 11, 5, 16, 30, 9, tzinfo=timezone.utc )
562562 data = {"timestamp": now}
563563
564564 result = serializer.to_bytes(data)
565- expected = b'{"timestamp":1762378209 .0}'
565+ expected = b'{"timestamp":1762360209 .0}'
566566
567567 assert result == expected
568568
569569
570570def test_serialize_multiple_datetimes():
571571 """Test multiple datetime objects."""
572572 serializer = JSONSerializer()
573- dt1 = datetime(2025, 1, 1, 0, 0, 0)
574- dt2 = datetime(2025, 12, 31, 23, 59, 59)
573+ dt1 = datetime(2025, 1, 1, 0, 0, 0, tzinfo=timezone.utc )
574+ dt2 = datetime(2025, 12, 31, 23, 59, 59, tzinfo=timezone.utc )
575575
576576 data = {"start": dt1, "end": dt2}
577577 result = serializer.to_bytes(data)
578- expected = b'{"start":1735707600 .0,"end":1767243599 .0}'
578+ expected = b'{"start":1735689600 .0,"end":1767225599 .0}'
579579
580580 assert result == expected
0 commit comments