Added unit tests
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
use gman::providers::local::LocalProviderConfig;
|
||||
|
||||
|
||||
#[test]
|
||||
fn test_local_provider_config_default() {
|
||||
let config = LocalProviderConfig::default();
|
||||
let expected_path = dirs::home_dir()
|
||||
.map(|p| p.join(".gman_vault"))
|
||||
.and_then(|p| p.to_str().map(|s| s.to_string()))
|
||||
.unwrap_or_else(|| ".gman_vault".into());
|
||||
assert_eq!(config.vault_path, expected_path);
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
use gman::providers::{ParseProviderError, SupportedProvider};
|
||||
use gman::providers::local::LocalProvider;
|
||||
use std::str::FromStr;
|
||||
|
||||
#[test]
|
||||
fn test_supported_provider_from_str_valid() {
|
||||
assert_eq!(
|
||||
SupportedProvider::from_str("local").unwrap(),
|
||||
SupportedProvider::Local(LocalProvider)
|
||||
);
|
||||
assert_eq!(
|
||||
SupportedProvider::from_str("LOCAL").unwrap(),
|
||||
SupportedProvider::Local(LocalProvider)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_supported_provider_from_str_invalid() {
|
||||
let err = SupportedProvider::from_str("invalid").unwrap_err();
|
||||
assert_eq!(
|
||||
err.to_string(),
|
||||
"unsupported provider 'invalid'"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_supported_provider_display() {
|
||||
let provider = SupportedProvider::Local(LocalProvider);
|
||||
assert_eq!(provider.to_string(), "local");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_parse_provider_error_display() {
|
||||
let err = ParseProviderError::Unsupported("test".to_string());
|
||||
assert_eq!(err.to_string(), "unsupported provider 'test'");
|
||||
}
|
||||
Reference in New Issue
Block a user