test+infra: fixture compartilhado de Postgres + docker-compose verificado - #11
Conversation
…-compose Resolve os dois pontos em aberto após o roteiro. (1) Fixture compartilhado dos testes de integração: - PostgresFixture (ICollectionFixture): UM container de Postgres para toda a suíte; cada teste recebe um banco isolado via CreateDatabaseAsync() (CREATE DATABASE) - As 9 classes de teste passam a usar o fixture (banco por teste) em vez de subir o próprio container; os testes que usam RabbitMQ mantêm seu container (poucos) - Resultado: churn de containers despenca, sem o flake transitório de start; suíte ~40% mais rápida (~1m35s -> ~55s), 17/17 estável em 3 execuções (2) docker-compose verificado ponta a ponta (corrige porta do host): - porta do Postgres no host: 5432 -> 5433 (evita colisão com Postgres local; os serviços se falam por postgres:5432 na rede do compose de qualquer forma) - `docker compose up` validado ao vivo: POST /orders -> Confirmed, estoque 100->98, payment Charged; e o caminho de compensação (valor > limite) -> Cancelled, estoque restaurado, payment Failed Build limpo (0/0); unit 4/4; integration 17/17.
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (11)
📝 WalkthroughWalkthroughThis pull request centralizes PostgreSQL lifecycle management for integration tests by introducing a shared ChangesPostgreSQL Fixture and Test Infrastructure Adoption
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…-compose (#11) Resolve os dois pontos em aberto após o roteiro. (1) Fixture compartilhado dos testes de integração: - PostgresFixture (ICollectionFixture): UM container de Postgres para toda a suíte; cada teste recebe um banco isolado via CreateDatabaseAsync() (CREATE DATABASE) - As 9 classes de teste passam a usar o fixture (banco por teste) em vez de subir o próprio container; os testes que usam RabbitMQ mantêm seu container (poucos) - Resultado: churn de containers despenca, sem o flake transitório de start; suíte ~40% mais rápida (~1m35s -> ~55s), 17/17 estável em 3 execuções (2) docker-compose verificado ponta a ponta (corrige porta do host): - porta do Postgres no host: 5432 -> 5433 (evita colisão com Postgres local; os serviços se falam por postgres:5432 na rede do compose de qualquer forma) - `docker compose up` validado ao vivo: POST /orders -> Confirmed, estoque 100->98, payment Charged; e o caminho de compensação (valor > limite) -> Cancelled, estoque restaurado, payment Failed Build limpo (0/0); unit 4/4; integration 17/17.
Summary by CodeRabbit
Tests
Chores