gabriel / muse public
test dev
AI Agent gabriel · 141 days ago · Apr 27, 2026 · Diff

test: belt-and-suspenders keychain isolation — patch _GLOBAL_MUSE_DIR/_SLOTS_FILE, add 22-test isolation suite, restore real funcs in keychain tests

sha256:91e33e09b315fadb638f0eff8b219de57e9840b25e7cb7656ce9abe57baf6d3a sha
+45 ~2 symbols
sha256:2009e54a6096e2669136df3a2f3ef27e5626a78f058366358857baeef87074f2 snapshot
+45
symbols added
~2
symbols modified
0
dead code introduced
Semantic Changes 47 symbols
~ tests/test_keychain_isolation.py .py 40 symbols added
+ TestBleedThrough class class TestBleedThrough L246–260
+ test_V1a_store_mnemonic_in_this_test method method test_V1a_store_mnemonic_in_this_test L247–252
+ test_V1b_mnemonic_from_prior_test_is_not_visible method method test_V1b_mnemonic_from_prior_test_is_not_visible L254–260
+ TestKeychainRedirection class class TestKeychainRedirection L64–101
+ test_I1_store_does_not_reach_os_keychain method method test_I1_store_does_not_reach_os_keychain L65–69
+ test_I2_load_does_not_reach_os_keychain method method test_I2_load_does_not_reach_os_keychain L71–75
+ test_I3_delete_does_not_reach_os_keychain method method test_I3_delete_does_not_reach_os_keychain L77–81
+ test_I4_is_available_returns_true method method test_I4_is_available_returns_true L83–85
+ test_I5_round_trip_store_then_load method method test_I5_round_trip_store_then_load L87–90
+ test_I6_delete_after_store_makes_load_none method method test_I6_delete_after_store_makes_load_none L92–96
+ test_I7_fresh_keychain_starts_empty method method test_I7_fresh_keychain_starts_empty L98–101
+ TestKeyringLibraryNotCalled class class TestKeyringLibraryNotCalled L217–233
+ test_IV1_keyring_set_password_not_called_on_store method method test_IV1_keyring_set_password_not_called_on_store L220–223
+ test_IV2_keyring_get_password_not_called_on_load method method test_IV2_keyring_get_password_not_called_on_load L225–228
+ test_IV3_keyring_delete_password_not_called_on_delete method method test_IV3_keyring_delete_password_not_called_on_delete L230–233
+ TestPathRedirection class class TestPathRedirection L109–148
+ test_II1_identity_file_not_in_real_home method method test_II1_identity_file_not_in_real_home L110–113
+ test_II2_identity_dir_not_in_real_home method method test_II2_identity_dir_not_in_real_home L115–118
+ test_II3_keys_dir_not_in_real_home method method test_II3_keys_dir_not_in_real_home L120–123
+ test_II4_path_home_returns_fake_home method method test_II4_path_home_returns_fake_home L125–128
+ test_II5_global_config_file_not_in_real_home method method test_II5_global_config_file_not_in_real_home L130–133
+ test_II6_global_muse_dir_not_in_real_home method method test_II6_global_muse_dir_not_in_real_home L135–138
+ test_II7_hub_trust_file_not_in_real_home method method test_II7_hub_trust_file_not_in_real_home L140–143
+ test_II8_slots_file_not_in_real_home method method test_II8_slots_file_not_in_real_home L145–148
+ TestWriteIsolation class class TestWriteIsolation L156–209
+ test_III1_save_identity_writes_to_fake_path method method test_III1_save_identity_writes_to_fake_path L157–186
+ test_III2_keygen_cli_writes_key_to_fake_dir method method test_III2_keygen_cli_writes_key_to_fake_dir L188–209
+ _REAL_HOME variable variable _REAL_HOME L56–56
+ _bleed_check_stored variable variable _bleed_check_stored L243–243
+ MagicMock import import MagicMock L45–45
+ _cfg_mod import import _cfg_mod L49–49
+ _ht_mod import import _ht_mod L51–51
+ _id_mod import import _id_mod L52–52
+ _kc_mod import import _kc_mod L54–54
+ _kp_mod import import _kp_mod L53–53
+ _slots_mod import import _slots_mod L50–50
+ annotations import import annotations L42–42
+ patch import import patch L45–45
+ pathlib import import pathlib L44–44
+ pytest import import pytest L47–47
~ tests/conftest.py .py 1 symbol modified
~ tests/test_core_keychain.py .py 5 symbols added, 1 symbol modified
+ _REAL_KC_DELETE variable variable _REAL_KC_DELETE L84–84
+ _REAL_KC_IS_AVAILABLE variable variable _REAL_KC_IS_AVAILABLE L85–85
+ _REAL_KC_LOAD variable variable _REAL_KC_LOAD L83–83
+ _REAL_KC_STORE variable variable _REAL_KC_STORE L82–82
+ _kc_module import import _kc_module L81–81
← Older Oldest on dev
All commits
Newer → Latest on dev

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:91e33e09b315fadb638f0eff8b219de57e9840b25e7cb7656ce9abe57baf6d3a --body "your comment"