Coverage for tests/testing/mariadb/test_server_fixture.py: 100%
21 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-07 21:13 +0300
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-07 21:13 +0300
1"""MariaDB test server fixture contract tests."""
3from __future__ import annotations
5from pathlib import Path
6from tempfile import TemporaryDirectory
8from snektest import assert_eq, assert_in, load_fixture, test
10from snekql.testing.mariadb import temporary_mariadb_server
11from tests.helpers import provide_mariadb_server
14@test(mark="medium")
15async def mariadb_server_fixture_starts_queryable_server() -> None:
16 """The shared fixture provides a local unprivileged MariaDB server."""
18 server = await load_fixture(provide_mariadb_server())
19 result = await server.run_sql("SELECT 1")
21 assert_in("1", result.stdout)
24@test(mark="medium")
25async def mariadb_server_fixture_reset_drops_tables_from_reused_data_dir() -> None:
26 """The shared fixture can reuse a data directory without stale tables."""
28 with TemporaryDirectory() as temporary_directory:
29 data_directory = Path(temporary_directory) / "data"
30 async with temporary_mariadb_server(data_directory=data_directory) as server:
31 _ = await server.run_sql("CREATE TABLE stale_fixture_table (`id` INT)")
33 async with temporary_mariadb_server(data_directory=data_directory) as server:
34 await server.reset_database()
35 result = await server.run_sql("SHOW TABLES LIKE 'stale_fixture_table'")
37 assert_eq(result.stdout, "")