71 lines
2.0 KiB
Rust
71 lines
2.0 KiB
Rust
use std::time::Duration;
|
|
|
|
use aws_credential_types::provider::error::CredentialsError;
|
|
|
|
use super::user_facing_aws_credentials_error_message;
|
|
|
|
#[test]
|
|
fn maps_credentials_not_loaded_to_user_message() {
|
|
let message = user_facing_aws_credentials_error_message(
|
|
&CredentialsError::not_loaded_no_source(),
|
|
"sandbox",
|
|
);
|
|
|
|
assert_eq!(
|
|
message,
|
|
"AWS credentials were not found for the AWS profile `sandbox`. Log in with the AWS CLI or update your AWS credentials configuration, then refresh."
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn maps_invalid_configuration_to_user_message() {
|
|
let message = user_facing_aws_credentials_error_message(
|
|
&CredentialsError::invalid_configuration(std::io::Error::other("bad config")),
|
|
"readonly",
|
|
);
|
|
|
|
assert_eq!(
|
|
message,
|
|
"The AWS profile `readonly` is invalid or incomplete in your local AWS configuration. Update your AWS profile settings and credentials, then refresh."
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn maps_provider_timeout_to_user_message() {
|
|
let message = user_facing_aws_credentials_error_message(
|
|
&CredentialsError::provider_timed_out(Duration::from_secs(5)),
|
|
"sandbox",
|
|
);
|
|
|
|
assert_eq!(
|
|
message,
|
|
"Timed out while loading AWS credentials. Refresh and try again."
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn maps_provider_error_to_user_message() {
|
|
let message = user_facing_aws_credentials_error_message(
|
|
&CredentialsError::provider_error(std::io::Error::other("provider error")),
|
|
"sandbox",
|
|
);
|
|
|
|
assert_eq!(
|
|
message,
|
|
"Unable to load AWS credentials from your configured provider. Refresh your AWS login and try again."
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn maps_unhandled_error_to_user_message() {
|
|
let message = user_facing_aws_credentials_error_message(
|
|
&CredentialsError::unhandled(std::io::Error::other("unexpected")),
|
|
"sandbox",
|
|
);
|
|
|
|
assert_eq!(
|
|
message,
|
|
"Unexpected error while loading AWS credentials. Refresh your AWS login and try again."
|
|
);
|
|
}
|