Replace py-pglite with testcontainers for Postgres testing - #449
Conversation
- Switch from py-pglite to testcontainers-postgres for more reliable Postgres testing - Use environment variable approach (BASIC_MEMORY_TEST_POSTGRES=1) instead of parameterized fixtures - Add explicit justfile recipes: test-sqlite, test-postgres, test-unit-sqlite, test-unit-postgres, etc. - Update CI to run SQLite and Postgres tests in parallel jobs - Add isolated_home fixture for CLI tests to prevent reading user config - Split Postgres DDL statements for asyncpg compatibility (requires separate execute calls) - Add timeout workaround for FastMCP Client + asyncpg cleanup hang - Update README.md and CLAUDE.md with current testing documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Claude finished @phernandez's task in 1m 55s —— View job PR Review: Replace py-pglite with testcontainersI've completed a comprehensive review of this PR against the Basic Memory team checklist. Overall, this is a well-executed refactoring that addresses the problematic py-pglite dependency and improves the testing infrastructure. The changes are thoughtful and align with the project's architecture principles. ✅ Code Quality & StandardsStrengths:
Observations:
✅ Testing & DocumentationStrengths:
Observations:
Minor Issue - Benchmark tests removed:
✅ Basic Memory ArchitectureStrengths:
Observations:
✅ Security & PerformanceStrengths:
Observations:
|
Summary
BASIC_MEMORY_TEST_POSTGRES=1) instead of parameterized fixturestest-sqlite,test-postgres,test-unit-sqlite,test-unit-postgres, etc.isolated_homefixture for CLI tests to prevent reading user configTest plan
just test-sqlitepasses locallyjust test-postgrespasses locally (with timeout workaround for cleanup hang)🤖 Generated with Claude Code