Compare commits

...

1 Commits

Author SHA1 Message Date
overtrue 7c30f18d58 test(kms): use absolute fixture paths on Windows 2026-11-11 07:17:38 +08:00
3 changed files with 13 additions and 4 deletions
+3 -2
View File
@@ -917,9 +917,10 @@ mod tests {
#[test]
fn test_configure_request_development_defaults_require_opt_in() {
let key_dir = std::env::temp_dir().join("kms-key-dir");
let local_raw = serde_json::json!({
"backend_type": "local",
"key_dir": "/tmp/kms-key-dir"
"key_dir": key_dir
});
let request: ConfigureKmsRequest = serde_json::from_value(local_raw).expect("local request should deserialize");
let config = request.to_kms_config();
@@ -927,7 +928,7 @@ mod tests {
let local_opt_in_raw = serde_json::json!({
"backend_type": "local",
"key_dir": "/tmp/kms-key-dir",
"key_dir": key_dir,
"allow_insecure_dev_defaults": true
});
let request: ConfigureKmsRequest = serde_json::from_value(local_opt_in_raw).expect("local request should deserialize");
+5 -1
View File
@@ -1608,10 +1608,14 @@ mod tests {
assert!(config.validate().is_err());
assert!(config.with_insecure_development_defaults().validate().is_ok());
#[cfg(windows)]
let production_key_dir = PathBuf::from(r"C:\rustfs\kms");
#[cfg(not(windows))]
let production_key_dir = PathBuf::from("/var/lib/rustfs/kms");
let production_config = KmsConfig {
backend: KmsBackend::Local,
backend_config: BackendConfig::Local(LocalConfig {
key_dir: PathBuf::from("/var/lib/rustfs/kms"),
key_dir: production_key_dir,
master_key: Some("production-master-key".to_string()),
file_permissions: Some(0o600),
}),
+5 -1
View File
@@ -336,7 +336,11 @@ async fn invalid_configurations_are_rejected_before_anything_starts() {
assert_configuration_error(relative.validate(), "must be an absolute path");
// Production-shaped Local config: no master key is refused without opt-in.
let production_without_master_key = KmsConfig::local("/var/lib/rustfs/kms-behavior".into());
#[cfg(windows)]
let production_key_dir = r"C:\rustfs\kms-behavior";
#[cfg(not(windows))]
let production_key_dir = "/var/lib/rustfs/kms-behavior";
let production_without_master_key = KmsConfig::local(production_key_dir.into());
assert_configuration_error(production_without_master_key.validate(), "requires a master key");
// ...and so is a key directory under the process temp dir.