crdt-sync: seed_session accepts --app sufler
Some checks failed
dependency freshness / dependencies on newest stable (push) Waiting to run
file length / file-length (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
palette drift / palette (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
shared gate tests / gate unit tests (push) Waiting to run
crdt-sync pre-commit / pre-commit (push) Has been cancelled
crdt-sync tests / test (push) Has been cancelled

The sufler PC TTS relay reads ~/.config/sufler/firebase_auth.json via
credential_store_for("sufler"), like tutor, so it needs a seeded session.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jw52sNWquCp34dy3rj19GD
This commit is contained in:
Krzysztof Rudnicki 2026-10-24 08:00:42 +02:00
parent d1ca1e3d5b
commit 29ea6e2c50
2 changed files with 23 additions and 0 deletions

View File

@ -59,6 +59,25 @@ def test_home_guard_is_among_the_default_apps() -> None:
assert "home_guard" in ss.DEFAULT_APPS
def test_sufler_is_among_the_default_apps() -> None:
"""Its PC TTS relay (``sufler_tts.relay.setup``) reads
``~/.config/sufler/firebase_auth.json`` via ``credential_store_for``."""
assert "sufler" in ss.DEFAULT_APPS
def test_the_app_flag_accepts_sufler() -> None:
"""``--app sufler`` must parse (argparse choices come from DEFAULT_APPS)."""
with (
patch.object(ss.FirebaseConfig, "load", return_value=_CONFIG),
patch.object(git, "fetch_id_token", return_value=_ID_VALUE),
patch.object(ss, "seed_apps", return_value=["sufler"]) as seeded,
):
code = ss.main([*_ARGV, "--app", "sufler"])
assert code == 0
assert seeded.call_args.args[2] == ("sufler",)
def test_a_single_app_can_be_selected() -> None:
"""--app narrows the run, which is what a rerun after a failure uses."""
with (

View File

@ -55,4 +55,8 @@ DEFAULT_APPS: Final = (
# ~/src/tutor: its PC worker answers the Flutter client's requests over
# RTDB (/tutor/v1), headless, with a session of its own.
"tutor",
# ~/src/sufler: its PC TTS relay (tts/sufler_tts/relay/setup.py) answers
# the Flutter client over RTDB (/sufler), headless, reading
# ~/.config/sufler/firebase_auth.json via credential_store_for("sufler").
"sufler",
)