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 }