50 lines
1.4 KiB
Rust
50 lines
1.4 KiB
Rust
use gman::providers::local::LocalProvider;
|
|
use gman::providers::{ParseProviderError, SupportedProvider};
|
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
|
use std::str::FromStr;
|
|
|
|
#[test]
|
|
fn test_supported_provider_from_str() {
|
|
assert_eq!(
|
|
SupportedProvider::from_str("local").unwrap(),
|
|
SupportedProvider::Local(LocalProvider)
|
|
);
|
|
assert_eq!(
|
|
SupportedProvider::from_str(" Local ").unwrap(),
|
|
SupportedProvider::Local(LocalProvider)
|
|
);
|
|
assert!(matches!(
|
|
SupportedProvider::from_str("invalid"),
|
|
Err(ParseProviderError::Unsupported(_))
|
|
));
|
|
}
|
|
|
|
#[test]
|
|
fn test_supported_provider_display() {
|
|
assert_str_eq!(SupportedProvider::Local(LocalProvider).to_string(), "local");
|
|
}
|
|
|
|
#[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_str_eq!(err.to_string(), "unsupported provider 'invalid'");
|
|
}
|
|
|
|
#[test]
|
|
fn test_parse_provider_error_display() {
|
|
let err = ParseProviderError::Unsupported("test".to_string());
|
|
assert_eq!(err.to_string(), "unsupported provider 'test'");
|
|
}
|