Skip to content

Commit 67ea777

Browse files
committed
revert timestamp changes
1 parent 7036734 commit 67ea777

File tree

1 file changed

+15
-44
lines changed

1 file changed

+15
-44
lines changed

tests/system/_sample_data.py

Lines changed: 15 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -69,42 +69,21 @@
6969

7070
def _assert_timestamp(value, nano_value):
7171
assert isinstance(value, datetime.datetime)
72-
# Treat naive datetimes as UTC
73-
if value.tzinfo is None:
74-
value_utc = value.replace(tzinfo=UTC)
72+
assert value.tzinfo is None
73+
assert nano_value.tzinfo is UTC
74+
75+
assert value.year == nano_value.year
76+
assert value.month == nano_value.month
77+
assert value.day == nano_value.day
78+
assert value.hour == nano_value.hour
79+
assert value.minute == nano_value.minute
80+
assert value.second == nano_value.second
81+
assert value.microsecond == nano_value.microsecond
82+
83+
if isinstance(value, datetime_helpers.DatetimeWithNanoseconds):
84+
assert value.nanosecond == nano_value.nanosecond
7585
else:
76-
value_utc = value.astimezone(UTC)
77-
if nano_value.tzinfo is None:
78-
nano_value_utc = nano_value.replace(tzinfo=UTC)
79-
else:
80-
nano_value_utc = nano_value.astimezone(UTC)
81-
82-
# Compare timestamps with tolerance for timezone differences
83-
# Allow up to 24 hours difference to handle timezone conversions and date boundaries
84-
time_diff = abs((value_utc - nano_value_utc).total_seconds())
85-
assert time_diff <= 86400, f"Time difference {time_diff} seconds exceeds 24 hours"
86-
87-
# Only compare nanoseconds if the timestamps are within 1 second
88-
if time_diff < 1:
89-
if isinstance(value, datetime_helpers.DatetimeWithNanoseconds):
90-
expected_ns = value.nanosecond
91-
found_ns = (
92-
nano_value.nanosecond
93-
if hasattr(nano_value, "nanosecond")
94-
else nano_value.microsecond * 1000
95-
)
96-
# Allow up to 1 second difference for timestamp precision issues
97-
# This accounts for potential precision loss during database round-trip
98-
ns_diff = abs(expected_ns - found_ns)
99-
assert ns_diff <= 1_000_000_000, f"Nanosecond diff {ns_diff} > 1s"
100-
else:
101-
# Allow up to 1 microsecond difference for timestamp precision issues
102-
us_diff = abs(value.microsecond - nano_value.microsecond)
103-
if us_diff > 1:
104-
print(f" Expected: {value} (microsecond: {value.microsecond})")
105-
print(f" Found: {nano_value} (microsecond: {nano_value.microsecond})")
106-
print(f" Difference: {us_diff} microseconds")
107-
assert us_diff <= 1, f"Microsecond diff {us_diff} > 1"
86+
assert value.microsecond * 1000 == nano_value.nanosecond
10887

10988

11089
def _check_rows_data(rows_data, expected=ROW_DATA, recurse_into_lists=True):
@@ -130,17 +109,9 @@ def _check_cell_data(found_cell, expected_cell, recurse_into_lists=True):
130109
elif isinstance(found_cell, float) and math.isnan(found_cell):
131110
assert math.isnan(expected_cell)
132111

133-
elif (
134-
isinstance(found_cell, list)
135-
and isinstance(expected_cell, list)
136-
and all(isinstance(x, datetime.datetime) for x in found_cell)
137-
):
138-
assert len(found_cell) == len(expected_cell)
139-
for found_item, expected_item in zip(found_cell, expected_cell):
140-
_assert_timestamp(expected_item, found_item)
141-
142112
elif isinstance(found_cell, list) and recurse_into_lists:
143113
assert len(found_cell) == len(expected_cell)
114+
144115
for found_item, expected_item in zip(found_cell, expected_cell):
145116
_check_cell_data(found_item, expected_item)
146117

0 commit comments

Comments
 (0)