fix(tests): pad timestamp windows in test_messages for clock skew

Three timestamp tests captured `before_request` / `after_request` with
`datetime.now(UTC)` on the host and asserted the server's `created_at`
fell within. Under Docker, the Postgres container's clock can skew tens
of ms from the macOS host, flipping the assertion intermittently under
parallel pytest load.

Pad each window by 1 second on both sides — wide enough to absorb
realistic skew, narrow enough that the test still proves the timestamp
is server-current.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
lowyelling 2026-05-04 15:10:51 -04:00
parent f52115a22f
commit 4676f84ddd
1 changed files with 19 additions and 10 deletions

View File

@ -1001,8 +1001,10 @@ async def test_create_message_without_timestamp_uses_default(
db_session.add(test_session)
await db_session.commit()
# Record time before request
before_request = datetime.datetime.now(datetime.timezone.utc)
# Pad the window to absorb client/Postgres clock skew under Docker.
before_request = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(
seconds=1
)
response = client.post(
f"/v3/workspaces/{test_workspace.name}/sessions/{test_session.name}/messages",
@ -1017,8 +1019,9 @@ async def test_create_message_without_timestamp_uses_default(
},
)
# Record time after request
after_request = datetime.datetime.now(datetime.timezone.utc)
after_request = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
seconds=1
)
assert response.status_code == 201
data = response.json()
@ -1053,8 +1056,9 @@ async def test_create_batch_messages_with_mixed_timestamps(
timestamp1 = datetime.datetime(2023, 1, 1, 12, 0, 0, tzinfo=datetime.timezone.utc)
timestamp2 = datetime.datetime(2023, 1, 2, 12, 0, 0, tzinfo=datetime.timezone.utc)
# Record time before request for default timestamp
before_request = datetime.datetime.now(datetime.timezone.utc)
before_request = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(
seconds=1
)
response = client.post(
f"/v3/workspaces/{test_workspace.name}/sessions/{test_session.name}/messages",
@ -1081,7 +1085,9 @@ async def test_create_batch_messages_with_mixed_timestamps(
},
)
after_request = datetime.datetime.now(datetime.timezone.utc)
after_request = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
seconds=1
)
assert response.status_code == 201
data = response.json()
@ -1124,8 +1130,9 @@ async def test_create_message_with_null_timestamp(
db_session.add(test_session)
await db_session.commit()
# Record time before request
before_request = datetime.datetime.now(datetime.timezone.utc)
before_request = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(
seconds=1
)
response = client.post(
f"/v3/workspaces/{test_workspace.name}/sessions/{test_session.name}/messages",
@ -1141,7 +1148,9 @@ async def test_create_message_with_null_timestamp(
},
)
after_request = datetime.datetime.now(datetime.timezone.utc)
after_request = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
seconds=1
)
assert response.status_code == 201
data = response.json()