MariaDB

Integration with MariaDB, a community-developed, commercially supported fork of the MySQL relational database management system.

This integration uses the official MariaDB Python Connector to interact with MariaDB.

Installation

pip install pytest-databases[mariadb]

Usage Example

import mariadb
from pytest_databases.docker.mariadb import MariaDBService

pytest_plugins = ["pytest_databases.docker.mariadb"]

def test(mariadb_service: MariaDBService) -> None:
    with mariadb.connect(
        host=mariadb_service.host,
        port=mariadb_service.port,
        user=mariadb_service.user,
        database=mariadb_service.db,
        password=mariadb_service.password,
    ) as conn, conn.cursor() as cursor:
        cursor.execute("select 1 as is_available")
        resp = cursor.fetchone()
        assert resp is not None and resp[0] == 1

def test(mariadb_connection: mariadb.Connection) -> None:
    with mariadb_connection.cursor() as cursor:
        cursor.execute("CREATE TABLE if not exists simple_table as SELECT 1 as the_value")
        cursor.execute("select * from simple_table")
        result = cursor.fetchall()
        assert result is not None and result[0][0] == 1

Available Fixtures

  • mariadb_service: A fixture that provides a MariaDB service.

  • mariadb_connection: A fixture that provides a MariaDB connection.

The following version-specific fixtures are also available:

  • mariadb_113_service: A fixture that provides a MariaDB 11.3 service.

  • mariadb_113_connection: A fixture that provides a MariaDB 11.3 connection.

Service API

class pytest_databases.docker.mariadb.MariaDBService(host, port, db, user, password)[source]

Bases: ServiceContainer

db: str
user: str
password: str
__init__(host, port, db, user, password)
pytest_databases.docker.mariadb.xdist_mariadb_isolation_level()[source]
Return type:

Literal['database', 'server']

pytest_databases.docker.mariadb.mariadb_113_service(docker_service, xdist_mariadb_isolation_level)[source]
Return type:

Generator[MariaDBService, None, None]

pytest_databases.docker.mariadb.mariadb_service(mariadb_113_service)[source]
Return type:

MariaDBService

pytest_databases.docker.mariadb.mariadb_113_connection(mariadb_113_service)[source]
Return type:

Generator[Connection, None, None]

pytest_databases.docker.mariadb.mariadb_connection(mariadb_113_connection)[source]
Return type:

Connection