Skip to content

Integration tests: RDM, Rules approval and silver writer on the shared pg16 server - #903

Merged
paulananth merged 2 commits into
mainfrom
claude/pg16-integration-tests
Oct 10, 2026
Merged

paulananth merged 2 commits into
mainfrom
claude/pg16-integration-tests

Conversation

@paulananth

@paulananth paulananth commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

What

test_rdm_postgres.py, test_rules_approval_postgres.py and test_silver_writer_postgres.py each started their own Docker postgres:16-alpine container with their own readiness loop. They now use the shared tests/support/pg16.server(), as the clean MDM integration tests already do (#900).

pg16.server() uses Docker in CI and PG16_SERVER=pgserver locally. It yields the server only once it answers SELECT 1, and cleans up either way.

The silver writer test still accepts PG16_ADMIN_URL, for a server kept between runs.

This was a follow-up from the GoF review on #900. The change is test-only: 35 lines added, 84 removed.

Checked

  • 23 passed on a local PostgreSQL 16, in 65 s, with PG16_SERVER=pgserver uv run --with pgserver pytest tests/integration/test_rdm_postgres.py tests/integration/test_rules_approval_postgres.py tests/integration/test_silver_writer_postgres.py.
  • ruff --select F is clean.
  • CI runs the same tests on Docker.

Review (Standards, Spec, GoF)

  • No hard violations. GoF: leave the structure as is.
  • Fixed: docker() and IMAGE in test_clean_mdm_postgres.py had no caller left once the silver writer test moved, so they are deleted. 57 clean MDM and silver writer tests pass on local PostgreSQL 16.
  • Noted, not changed:
    • Fixture errors: a server that never becomes ready now raises pg16's RuntimeError (a fixture error) instead of pytest.fail.
    • Docker image: the Rules approval test now needs the image present, as the others already did. CI pulls it before the integration tests.
    • Remaining Docker setup: tests/engine/test_data_skill_bundle_postgres.py still starts its own container. It is on Codex's path list, so it is left as a follow-up.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FFKdv4nqKXKM9d5Cf2hEFk

Aneena Ananth and others added 2 commits October 10, 2026 16:23
…d pg16 server

Each started its own Docker postgres:16-alpine with its own readiness loop.
They now use tests/support/pg16.server(), as the clean MDM tests do (#900):
Docker in CI, PG16_SERVER=pgserver locally, yielded once it answers
SELECT 1, cleaned up either way. The silver writer keeps PG16_ADMIN_URL
for a server kept between runs. 23 passed on local PostgreSQL 16.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFKdv4nqKXKM9d5Cf2hEFk
Review (Standards, Spec, GoF): its last caller was the silver writer test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFKdv4nqKXKM9d5Cf2hEFk
@paulananth
paulananth merged commit b0aba7d into main Oct 10, 2026
6 checks passed
@paulananth
paulananth deleted the claude/pg16-integration-tests branch October 15, 2026 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant