What problem does it solve?
Summer-test removes the friction of setting up repeatable integration and blackbox tests by orchestrating ephemeral Postgres containers, FlyMock/WireMock stub services, and Flyway migrations so tests run reliably in CI and local development.
Core Features & Use Cases
- Containerized Databases: Provides PostgresTestContainer with methods to obtain JDBC/R2DBC URLs, run Flyway migrations, execute SQL scripts, and create connections for integration tests.
- Stubbed External Services: Manages WireMockServiceManager to start and stop per-service stubs, load mappings and response templates, and run standalone stub runners for development.
- JSON-Driven Blackbox Tests: Supports a configurable blackbox_config.json and test-case JSON schema to drive dynamic test factories and parallelizable test suites.
- Best Practices & Guards: Enforces dynamic property wiring, RANDOM_PORT handling, mandatory stopAllServices calls to avoid port leaks, and recommended Gradle tasks for CI-friendly execution.
Quick Start
Run a blackbox test that launches a PostgresTestContainer, applies Flyway migrations, starts required WireMock stubs, and executes JSON-driven test cases.