lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

keyring_adapter.rs (719B)


      1 #![cfg(feature = "keyring")]
      2 
      3 use radroots_secrets::id::BackendKind;
      4 use radroots_secrets::keyring::KeyringProvider;
      5 use radroots_secrets::{Error, SecretProvider};
      6 
      7 #[test]
      8 fn construction_is_validated_redacted_and_side_effect_free() {
      9     let provider = KeyringProvider::new("org.radroots.application").expect("provider");
     10     assert_eq!(provider.backend_kind(), BackendKind::Keyring);
     11     assert!(provider.capabilities().is_available());
     12     assert_eq!(format!("{provider:?}"), "KeyringProvider(<redacted>)");
     13 
     14     for invalid in ["", ".leading", "contains/slash", "contains space"] {
     15         assert!(matches!(
     16             KeyringProvider::new(invalid),
     17             Err(Error::InvalidServiceName)
     18         ));
     19     }
     20 }