diff --git a/tests/cursor_lookback_contract.py b/tests/cursor_lookback_contract.py index 6b48450..aaed911 100644 --- a/tests/cursor_lookback_contract.py +++ b/tests/cursor_lookback_contract.py @@ -78,8 +78,10 @@ if MODE == "default": length = int(headers["content-length"]) body, _ = read_exact(connection, buffered, length) text = body.decode() - assert "subscribe: cursor too old" in text - assert "cursor 1 below lookback floor 2001" in text + # v2 rejections are XRPC JSON error envelopes with a structured name + err = json.loads(text) + assert err["error"] == "CursorTooOld", err + assert "cursor 1 is below the lookback floor 2001" in err["message"], err finally: connection.close() @@ -96,8 +98,9 @@ elif MODE == "wide": try: assert status.startswith("HTTP/1.1 101") payload, _ = read_frame(connection, buffered) - event = json.loads(payload) - assert event["seq"] == 1 + frame = json.loads(payload) + assert frame["$type"] == "message", frame + assert frame["payload"]["seq"] == 1, frame finally: connection.close() elif MODE == "disabled": diff --git a/tests/powerloss_oracle.py b/tests/powerloss_oracle.py index a4a8e60..a43eaaf 100644 --- a/tests/powerloss_oracle.py +++ b/tests/powerloss_oracle.py @@ -16,6 +16,7 @@ is active. """ import asyncio +import datetime import json import os import pathlib @@ -478,8 +479,11 @@ async def verify_timestamp_import(): assert event.get("time") == IMPORTED_TIMESTAMP_RFC3339, event targeted += 1 elif materialization: - expected = 1_700_000_000_000_000 + event["seq"] * 1000 - assert event.get("time_us") == expected, event + expected_us = 1_700_000_000_000_000 + event["seq"] * 1000 + expected = datetime.datetime.fromtimestamp( + expected_us / 1e6, datetime.UTC + ).strftime("%Y-%m-%dT%H:%M:%S.%fZ") + assert event.get("time") == expected, event untouched += 1 assert targeted > 0 and untouched > 0, (targeted, untouched)