Files
openrun/tests/conftest.py

29 lines
750 B
Python
Raw Permalink Normal View History

2026-05-19 08:34:22 -04:00
"""Shared pytest fixtures for openrun tests.
The `tmp_conn` fixture provides a fresh in-memory SQLite connection with the
full openrun schema applied every test that touches the DB should request
this rather than `openrun.db.connect()` so the live `data/garmin.db` is never
read or written by the test suite.
"""
from __future__ import annotations
import sqlite3
import pytest
from openrun.db import SCHEMA
@pytest.fixture
def tmp_conn() -> sqlite3.Connection:
"""Fresh in-memory SQLite with the openrun schema applied."""
conn = sqlite3.connect(":memory:")
conn.execute("PRAGMA foreign_keys = ON")
conn.row_factory = sqlite3.Row
conn.executescript(SCHEMA)
try:
yield conn
finally:
conn.close()