fix: enforce unknown S3 params and repair MinIO CI command

This commit is contained in:
g-roliveira 2026-02-16 12:54:06 -03:00
parent 7b74969d5a
commit 2b60e58565
2 changed files with 8 additions and 4 deletions

View file

@ -283,8 +283,8 @@ jobs:
exit 1
fi
docker run --rm --network host minio/mc:latest \
sh -c "mc alias set local http://127.0.0.1:9000 minioadmin minioadmin && mc mb --ignore-existing local/vaultwarden-test"
docker run --rm --network host --entrypoint /bin/sh minio/mc:latest -c \
"mc alias set local http://127.0.0.1:9000 minioadmin minioadmin && mc mb --ignore-existing local/vaultwarden-test"
- name: Run MinIO integration test
env:

View file

@ -1469,6 +1469,10 @@ fn set_s3_config_param(
// Merge with the new field and deserialize
if let Value::Object(mut config_obj) = config_json {
if !config_obj.contains_key(param_name) {
return Err(format!("Unknown S3 OpenDAL parameter '{param_name}'").into());
}
// Insert the new field
config_obj.insert(param_name.to_string(), json_value.clone());
@ -1686,7 +1690,7 @@ mod s3_tests {
#[test]
fn test_parse_s3_config_percent_encoded_prefix() {
let config = parse_s3_config_for_path("s3://vw/path%20with%20spaces").expect("config should parse");
assert_eq!(config.root.as_deref(), Some("/path with spaces"));
assert_eq!(config.root.as_deref(), Some("/path%20with%20spaces"));
}
#[test]
@ -1694,7 +1698,7 @@ mod s3_tests {
let error =
parse_s3_config_for_path("s3://vw/path?unknown_param=value").expect_err("unknown params should fail");
let error_string = error.to_string();
assert!(error_string.contains("unknown field"));
assert!(error_string.contains("Unknown S3 OpenDAL parameter"));
}
#[test]