con un clic
dbt-helpers-integration-testcontainers
// Set up and run integration tests using Testcontainers. Use when testing warehouse adapters against real database engines or verifying filesystem-dependent operations.
// Set up and run integration tests using Testcontainers. Use when testing warehouse adapters against real database engines or verifying filesystem-dependent operations.
Manage Architecture Decision Records (ADRs) using adr-tools. Use this to initialize, create, list, and link ADRs to document architectural evolution.
Scaffold and standardize new dbt-helpers plugins (Warehouse, Tool, or Schema). Use when starting a new plugin implementation or updating plugin discovery configuration.
Comprehensive workflow for creating, implementing, and validating Agent Skills. Use when asked to "create a new skill", "author a skill", "add a capability", or when standardizing project-specific workflows. Support for platform detection (Cursor, Claude Code, Gemini CLI, Codex) and template selection.
Set up the development environment for the project. Use when starting work on the project, when dependencies are out of sync, or to fix environment setup failures.
Implement and run End-to-End tests using golden output comparison. Use when verifying CLI behavior, plan generation, or full project execution.
Implement and use Nullable Infrastructure adapters for mock-free testing. Use when writing unit tests for core logic, implementing infrastructure adapters, or setting up test fixtures.
| name | dbt-helpers-integration-testcontainers |
| description | Set up and run integration tests using Testcontainers. Use when testing warehouse adapters against real database engines or verifying filesystem-dependent operations. |
To verify that our adapters work correctly against real infrastructure, ensuring that SQL dialect nuances, connection edge cases, and filesystem behaviors are correctly handled.
duckdb:latest, postgres:15) to ensure consistent results.session or module scope where appropriate to minimize container startup overhead.@pytest.fixture(scope="session")
def duckdb_container():
with DuckDBContainer("duckdb/duckdb:latest") as duckdb:
yield duckdb
@pytest.fixture
def catalog_client(duckdb_container):
return DuckDBCatalogClient(connection_url=duckdb_container.get_connection_url())
Always ensure containers are stopped and resources are cleaned up using context managers or yield fixtures.
src/<package>/tests/integration/.testcontainers-python for managing Docker instances.