CockroachDB

Integration with CockroachDB

Installation

pip install pytest-databases[cockroachdb]

The cockroachdb extra is an empty compatibility group. pytest-databases no longer bundles a CockroachDB Python client; install your preferred client (psycopg, sqlalchemy, etc.) alongside it.

Usage Example

import pytest
import psycopg
from pytest_databases.docker.cockroachdb import CockroachDBService

pytest_plugins = ["pytest_databases.docker.cockroachdb"]

@pytest.fixture(scope="session")
def cockroach_uri(cockroachdb_service: CockroachDBService) -> str:
    return (
        f"postgresql://root@{cockroachdb_service.host}:{cockroachdb_service.port}"
        f"/{cockroachdb_service.database}?sslmode=disable"
    )

def test(cockroach_uri: str) -> None:
    with psycopg.connect(cockroach_uri) as conn:
        db_open = conn.execute("SELECT 1").fetchone()
        assert db_open is not None and db_open[0] == 1

Available Fixtures

  • cockroachdb_image: The Docker image to use for CockroachDB.

  • cockroachdb_service: A fixture that provides a CockroachDB service.

Service API

pytest_databases.docker.cockroachdb.xdist_cockroachdb_isolation_level()[source]
Return type:

Literal['database', 'server']

class pytest_databases.docker.cockroachdb.CockroachDBService(container, host, port, database)[source]

Bases: ServiceContainer

database: str
__init__(container, host, port, database)
pytest_databases.docker.cockroachdb.cockroachdb_image()[source]
Return type:

str

pytest_databases.docker.cockroachdb.cockroachdb_service(docker_service, xdist_cockroachdb_isolation_level, cockroachdb_image)[source]
Return type:

Generator[CockroachDBService, None, None]