@@ -13,6 +13,7 @@ def test_models_import() -> None:
1313 CubepiThread ,
1414 cubepi_metadata ,
1515 )
16+
1617 assert EXPECTED_SCHEMA_VERSION == 1
1718 assert PARTITION_COUNT == 64
1819 # All three model classes are reachable via the public model module
@@ -45,15 +46,21 @@ def test_cubepi_message_has_gin_index() -> None:
4546
4647
4748def test_create_message_partitions_op_yields_64_statements () -> None :
48- from cubepi .checkpointer .postgres .alembic_helpers import create_message_partitions_op
49+ from cubepi .checkpointer .postgres .alembic_helpers import (
50+ create_message_partitions_op ,
51+ )
52+
4953 sql = create_message_partitions_op ()
5054 assert sql .count ("CREATE TABLE cubepi_messages_p" ) == 64
5155 assert "modulus 64, remainder 0" in sql
5256 assert "modulus 64, remainder 63" in sql
5357
5458
5559def test_create_message_partitions_op_partitions_are_zero_padded () -> None :
56- from cubepi .checkpointer .postgres .alembic_helpers import create_message_partitions_op
60+ from cubepi .checkpointer .postgres .alembic_helpers import (
61+ create_message_partitions_op ,
62+ )
63+
5764 sql = create_message_partitions_op ()
5865 # Partition names use 2-digit padding so they sort lexicographically
5966 assert "cubepi_messages_p00 " in sql
@@ -62,6 +69,7 @@ def test_create_message_partitions_op_partitions_are_zero_padded() -> None:
6269
6370def test_write_schema_version_op_includes_expected_version () -> None :
6471 from cubepi .checkpointer .postgres .alembic_helpers import write_schema_version_op
72+
6573 sql = write_schema_version_op ()
6674 assert "INSERT INTO cubepi_schema_version" in sql
6775 assert "VALUES (1)" in sql
@@ -73,12 +81,14 @@ def test_schema_uninitialized_is_schema_error() -> None:
7381 CubepiSchemaError ,
7482 CubepiSchemaUninitialized ,
7583 )
84+
7685 err = CubepiSchemaUninitialized ("tables missing" )
7786 assert isinstance (err , CubepiSchemaError )
7887
7988
8089def test_schema_mismatch_carries_expected_actual () -> None :
8190 from cubepi .checkpointer .postgres .exceptions import CubepiSchemaMismatch
91+
8292 err = CubepiSchemaMismatch (expected = 2 , actual = 1 , hint = "run alembic" )
8393 assert err .expected == 2
8494 assert err .actual == 1
@@ -89,6 +99,7 @@ def test_schema_mismatch_carries_expected_actual() -> None:
8999
90100def test_schema_mismatch_without_hint () -> None :
91101 from cubepi .checkpointer .postgres .exceptions import CubepiSchemaMismatch
102+
92103 err = CubepiSchemaMismatch (expected = 2 , actual = 1 )
93104 # No hint suffix
94105 assert "expected=2" in str (err )
@@ -132,6 +143,7 @@ async def _setup_schema(dsn: str) -> None:
132143 create_message_partitions_op ,
133144 write_schema_version_op ,
134145 )
146+
135147 await conn .execute (create_message_partitions_op ())
136148 await conn .execute ("""
137149 CREATE INDEX ix_cubepi_messages_metadata_gin
@@ -152,7 +164,10 @@ async def test_postgres_checkpointer_round_trip(clean_db) -> None:
152164 """Append + load round-trips messages with metadata."""
153165 from cubepi .checkpointer .postgres import PostgresCheckpointer
154166 from cubepi .providers .base import (
155- AssistantMessage , TextContent , Usage , UserMessage ,
167+ AssistantMessage ,
168+ TextContent ,
169+ Usage ,
170+ UserMessage ,
156171 )
157172
158173 await _setup_schema (clean_db )
0 commit comments