Add Postgres table adapter with TableRepositoryInterface.
PR Title Check / check-title (pull_request) Successful in 7s
Code Quality Pipeline / code-quality (pull_request) Failing after 19s
Test Python Package / unit-tests (pull_request) Successful in 47s
Test Python Package / integration-tests (pull_request) Successful in 44s
Test Python Package / coverage-report (pull_request) Successful in 11s
PR Title Check / check-title (pull_request) Successful in 7s
Code Quality Pipeline / code-quality (pull_request) Failing after 19s
Test Python Package / unit-tests (pull_request) Successful in 47s
Test Python Package / integration-tests (pull_request) Successful in 44s
Test Python Package / coverage-report (pull_request) Successful in 11s
Introduce PostgresAdapter for dict-based row CRUD via psycopg3, including config, lazy exports, unit/integration tests with testcontainers, and an example UserTableRepository. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
co-authored by
Cursor
parent
f28d3c4844
commit
dc6f8a3e89
@@ -0,0 +1,33 @@
|
||||
"""Postgres integration test fixtures."""
|
||||
|
||||
from collections.abc import Generator
|
||||
|
||||
import psycopg
|
||||
import pytest
|
||||
|
||||
from python_repositories.config import PostgresConfig
|
||||
from tests.integration.postgres._containers import (
|
||||
postgres_config_from_container,
|
||||
postgres_uri,
|
||||
raw_postgres_client_from_container,
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def postgres_container() -> Generator[str, None, None]:
|
||||
"""Set up a Postgres container for testing and yield the Postgres URI."""
|
||||
yield from postgres_uri()
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def postgres_config(postgres_container: str) -> PostgresConfig:
|
||||
"""Provide PostgresConfig built from the test container."""
|
||||
return postgres_config_from_container(postgres_container)
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def raw_postgres_client(
|
||||
postgres_container: str,
|
||||
) -> Generator[psycopg.Connection, None, None]:
|
||||
"""Provide a raw Postgres client connected to the test container."""
|
||||
yield from raw_postgres_client_from_container(postgres_container)
|
||||
Reference in New Issue
Block a user