mirror of
https://github.com/rmcrackan/Libation.git
synced 2026-09-13 06:07:30 -04:00
ConfigureFrom always calls ResolveSecretStore, which falls through to OsSecretStore.Create(...).IsAvailable when no master key file or env var is present. That is a blocking libsecret call: on a headless machine, or one whose login keyring is locked, it waits on a desktop unlock prompt that never gets answered. Five tests reached it and one reached it twice, so the project took 12+ minutes instead of seconds. Probing availability first does not help, because the probe is the blocking call. Tests that only assert which write method gets configured now resolve the master key from a temp key file, so they short-circuit before the OS store. This also stops them minting a last-resort key into the real Libation folder. The two tests that exist to exercise the real OS store are opt-in via LIBATION_TEST_OS_SECRET_STORE=1. AudibleUtilities.Tests: 12m 20s -> 1.8s, 72 passed / 2 skipped / 0 failed. Co-authored-by: rmcrackan <rmcrackan@gmail.com>