Fork of satmachineadmin's v2-bitspire line into its own repo. Renames
both identifiers so this extension is fully independent of the original
satmachineadmin install (which remains in service):
- extension id satmachineadmin -> spirekeeper
(router prefix, static path/static_url_for, module symbols, task
names, templates dir, config/manifest paths)
- database name satoshimachine -> spirekeeper
(Database(ext_spirekeeper), all schema-qualified table refs)
Also resets versioning to 0.1.0, sets the display name + manifest to
spirekeeper/aiolabs, and fixes the placeholder pyproject description.
Historical aiolabs/satmachineadmin#N issue references in comments are
left pointing at the original repo where those issues live.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
32 lines
1,018 B
Python
32 lines
1,018 B
Python
"""
|
|
Pytest configuration for the spirekeeper extension test suite.
|
|
|
|
Provides a `loguru_capture` fixture for tests that need to verify
|
|
loguru WARN/ERROR side-effects. Loguru attaches its default sink to
|
|
sys.stderr at import time, before pytest's `capsys` wraps stderr, so
|
|
neither `caplog` (stdlib logging only) nor `capsys` reliably sees
|
|
loguru output. The fixture adds a list-sink for the test's duration
|
|
and removes it on teardown.
|
|
"""
|
|
|
|
from typing import Generator, List
|
|
|
|
import pytest
|
|
from loguru import logger
|
|
|
|
|
|
@pytest.fixture
|
|
def loguru_capture() -> Generator[List[str], None, None]:
|
|
"""Capture loguru log records into a list for the test's duration.
|
|
|
|
Usage:
|
|
def test_warns_on_X(loguru_capture):
|
|
do_thing_that_warns()
|
|
assert any("expected message" in msg for msg in loguru_capture)
|
|
"""
|
|
captured: List[str] = []
|
|
handler_id = logger.add(
|
|
captured.append, level="WARNING", format="{level} {message}"
|
|
)
|
|
yield captured
|
|
logger.remove(handler_id)
|