From 2b11582fb95d3a5d4b5157c15aa4b7e458a7ab77 Mon Sep 17 00:00:00 2001 From: overtrue Date: Wed, 13 May 2026 05:06:10 +0800 Subject: [PATCH] test(alias): cover non-UTF8 RC_HOST credential decoding --- crates/core/src/alias.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/crates/core/src/alias.rs b/crates/core/src/alias.rs index b4835fd..9b96ab8 100644 --- a/crates/core/src/alias.rs +++ b/crates/core/src/alias.rs @@ -618,6 +618,17 @@ mod tests { assert!(!error.contains("SECRET")); } + #[test] + fn test_parse_rc_host_alias_rejects_non_utf8_percent_encoded_secret_key() { + let result = parse_env_alias("invalid", "https://ACCESS_KEY:SECRET%FF@rustfs.local"); + + assert!(result.is_err()); + let error = result.unwrap_err().to_string(); + assert!(error.contains("invalid percent-encoding in secret key")); + assert!(!error.contains("ACCESS_KEY")); + assert!(!error.contains("SECRET")); + } + #[test] fn test_parse_rc_host_alias_rejects_invalid_access_key_percent_encoding() { let result = parse_env_alias("invalid", "https://ACCESS%ZZKEY:SECRET_KEY@rustfs.local");