feat: optimize make_need_fields_message macro (#721)
Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
parent
40bcafca40
commit
b73c15398b
|
|
@ -27,20 +27,6 @@ use tokio_util::io::StreamReader;
|
||||||
use tracing::{error, info, instrument};
|
use tracing::{error, info, instrument};
|
||||||
use url::Url;
|
use url::Url;
|
||||||
|
|
||||||
macro_rules! make_error_message_by_missed_field {
|
|
||||||
($var: ident {$($field: ident), *}) => {{
|
|
||||||
let mut missed_info: Vec<&'static str> = vec![];
|
|
||||||
|
|
||||||
$(
|
|
||||||
if $var.$field.is_none() {
|
|
||||||
missed_info.push(stringify!($field));
|
|
||||||
}
|
|
||||||
)*
|
|
||||||
|
|
||||||
missed_info.join(", ")
|
|
||||||
}};
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scheme is the scheme of the object storage.
|
// Scheme is the scheme of the object storage.
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||||
pub enum Scheme {
|
pub enum Scheme {
|
||||||
|
|
@ -164,6 +150,21 @@ impl TryFrom<Url> for ParsedURL {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// make_need_fields_message makes a message for the need fields in the object storage.
|
||||||
|
macro_rules! make_need_fields_message {
|
||||||
|
($var:ident {$($field:ident),*}) => {{
|
||||||
|
let mut need_fields: Vec<&'static str> = vec![];
|
||||||
|
|
||||||
|
$(
|
||||||
|
if $var.$field.is_none() {
|
||||||
|
need_fields.push(stringify!($field));
|
||||||
|
}
|
||||||
|
)*
|
||||||
|
|
||||||
|
format!("need {}", need_fields.join(", "))
|
||||||
|
}};
|
||||||
|
}
|
||||||
|
|
||||||
// ObjectStorage is a struct that implements the backend trait.
|
// ObjectStorage is a struct that implements the backend trait.
|
||||||
pub struct ObjectStorage {
|
pub struct ObjectStorage {
|
||||||
// scheme is the scheme of the object storage.
|
// scheme is the scheme of the object storage.
|
||||||
|
|
@ -188,9 +189,8 @@ impl ObjectStorage {
|
||||||
) -> ClientResult<Operator> {
|
) -> ClientResult<Operator> {
|
||||||
// If download backend is object storage, object_storage parameter is required.
|
// If download backend is object storage, object_storage parameter is required.
|
||||||
let Some(object_storage) = object_storage else {
|
let Some(object_storage) = object_storage else {
|
||||||
error!("need object_storage parameter");
|
|
||||||
return Err(ClientError::BackendError(BackendError {
|
return Err(ClientError::BackendError(BackendError {
|
||||||
message: "need object_storage parameter".to_string(),
|
message: format!("{} need object_storage parameter", self.scheme),
|
||||||
status_code: None,
|
status_code: None,
|
||||||
header: None,
|
header: None,
|
||||||
}));
|
}));
|
||||||
|
|
@ -223,15 +223,16 @@ impl ObjectStorage {
|
||||||
&object_storage.access_key_secret,
|
&object_storage.access_key_secret,
|
||||||
&object_storage.region,
|
&object_storage.region,
|
||||||
) else {
|
) else {
|
||||||
let error_message = make_error_message_by_missed_field!(object_storage {
|
|
||||||
access_key_id,
|
|
||||||
access_key_secret,
|
|
||||||
region
|
|
||||||
});
|
|
||||||
|
|
||||||
error!("need {}", error_message);
|
|
||||||
return Err(ClientError::BackendError(BackendError {
|
return Err(ClientError::BackendError(BackendError {
|
||||||
message: format!("need {}", error_message),
|
message: format!(
|
||||||
|
"{} {}",
|
||||||
|
self.scheme,
|
||||||
|
make_need_fields_message!(object_storage {
|
||||||
|
access_key_id,
|
||||||
|
access_key_secret,
|
||||||
|
region
|
||||||
|
})
|
||||||
|
),
|
||||||
status_code: None,
|
status_code: None,
|
||||||
header: None,
|
header: None,
|
||||||
}));
|
}));
|
||||||
|
|
@ -312,15 +313,16 @@ impl ObjectStorage {
|
||||||
&object_storage.access_key_secret,
|
&object_storage.access_key_secret,
|
||||||
&object_storage.endpoint,
|
&object_storage.endpoint,
|
||||||
) else {
|
) else {
|
||||||
let error_message = make_error_message_by_missed_field!(object_storage {
|
|
||||||
access_key_id,
|
|
||||||
access_key_secret,
|
|
||||||
endpoint
|
|
||||||
});
|
|
||||||
|
|
||||||
error!("need {}", error_message);
|
|
||||||
return Err(ClientError::BackendError(BackendError {
|
return Err(ClientError::BackendError(BackendError {
|
||||||
message: format!("need {}", error_message),
|
message: format!(
|
||||||
|
"{} {}",
|
||||||
|
self.scheme,
|
||||||
|
make_need_fields_message!(object_storage {
|
||||||
|
access_key_id,
|
||||||
|
access_key_secret,
|
||||||
|
endpoint
|
||||||
|
})
|
||||||
|
),
|
||||||
status_code: None,
|
status_code: None,
|
||||||
header: None,
|
header: None,
|
||||||
}));
|
}));
|
||||||
|
|
@ -355,15 +357,16 @@ impl ObjectStorage {
|
||||||
&object_storage.access_key_secret,
|
&object_storage.access_key_secret,
|
||||||
&object_storage.endpoint,
|
&object_storage.endpoint,
|
||||||
) else {
|
) else {
|
||||||
let error_message = make_error_message_by_missed_field!(object_storage {
|
|
||||||
access_key_id,
|
|
||||||
access_key_secret,
|
|
||||||
endpoint
|
|
||||||
});
|
|
||||||
|
|
||||||
error!("need {}", error_message);
|
|
||||||
return Err(ClientError::BackendError(BackendError {
|
return Err(ClientError::BackendError(BackendError {
|
||||||
message: format!("need {}", error_message),
|
message: format!(
|
||||||
|
"{} {}",
|
||||||
|
self.scheme,
|
||||||
|
make_need_fields_message!(object_storage {
|
||||||
|
access_key_id,
|
||||||
|
access_key_secret,
|
||||||
|
endpoint
|
||||||
|
})
|
||||||
|
),
|
||||||
status_code: None,
|
status_code: None,
|
||||||
header: None,
|
header: None,
|
||||||
}));
|
}));
|
||||||
|
|
@ -399,15 +402,16 @@ impl ObjectStorage {
|
||||||
&object_storage.access_key_secret,
|
&object_storage.access_key_secret,
|
||||||
&object_storage.endpoint,
|
&object_storage.endpoint,
|
||||||
) else {
|
) else {
|
||||||
let error_message = make_error_message_by_missed_field!(object_storage {
|
|
||||||
access_key_id,
|
|
||||||
access_key_secret,
|
|
||||||
endpoint
|
|
||||||
});
|
|
||||||
|
|
||||||
error!("need {}", error_message);
|
|
||||||
return Err(ClientError::BackendError(BackendError {
|
return Err(ClientError::BackendError(BackendError {
|
||||||
message: format!("need {}", error_message),
|
message: format!(
|
||||||
|
"{} {}",
|
||||||
|
self.scheme,
|
||||||
|
make_need_fields_message!(object_storage {
|
||||||
|
access_key_id,
|
||||||
|
access_key_secret,
|
||||||
|
endpoint
|
||||||
|
})
|
||||||
|
),
|
||||||
status_code: None,
|
status_code: None,
|
||||||
header: None,
|
header: None,
|
||||||
}));
|
}));
|
||||||
|
|
@ -441,15 +445,16 @@ impl ObjectStorage {
|
||||||
&object_storage.access_key_secret,
|
&object_storage.access_key_secret,
|
||||||
&object_storage.endpoint,
|
&object_storage.endpoint,
|
||||||
) else {
|
) else {
|
||||||
let error_message = make_error_message_by_missed_field!(object_storage {
|
|
||||||
access_key_id,
|
|
||||||
access_key_secret,
|
|
||||||
endpoint
|
|
||||||
});
|
|
||||||
|
|
||||||
error!("need {}", error_message);
|
|
||||||
return Err(ClientError::BackendError(BackendError {
|
return Err(ClientError::BackendError(BackendError {
|
||||||
message: format!("need {}", error_message),
|
message: format!(
|
||||||
|
"{} {}",
|
||||||
|
self.scheme,
|
||||||
|
make_need_fields_message!(object_storage {
|
||||||
|
access_key_id,
|
||||||
|
access_key_secret,
|
||||||
|
endpoint
|
||||||
|
})
|
||||||
|
),
|
||||||
status_code: None,
|
status_code: None,
|
||||||
header: None,
|
header: None,
|
||||||
}));
|
}));
|
||||||
|
|
@ -788,10 +793,9 @@ mod tests {
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
let test_key = "test-bucket/file";
|
|
||||||
|
|
||||||
for (scheme, object_storage) in test_cases {
|
for (scheme, object_storage) in test_cases {
|
||||||
let url: Url = format!("{}://{}", scheme, test_key).parse().unwrap();
|
let url: Url = format!("{}://test-bucket/file", scheme).parse().unwrap();
|
||||||
let parsed_url: ParsedURL = url.try_into().unwrap();
|
let parsed_url: ParsedURL = url.try_into().unwrap();
|
||||||
|
|
||||||
let result = ObjectStorage::new(scheme).operator(
|
let result = ObjectStorage::new(scheme).operator(
|
||||||
|
|
@ -918,7 +922,7 @@ mod tests {
|
||||||
assert!(result.is_err());
|
assert!(result.is_err());
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
result.unwrap_err().to_string(),
|
result.unwrap_err().to_string(),
|
||||||
"backend error need object_storage parameter"
|
"backend error s3 need object_storage parameter"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -927,28 +931,28 @@ mod tests {
|
||||||
let test_cases = vec![
|
let test_cases = vec![
|
||||||
(
|
(
|
||||||
ObjectStorageInfo::default(),
|
ObjectStorageInfo::default(),
|
||||||
"backend error need access_key_id, access_key_secret, region",
|
"backend error s3 need access_key_id, access_key_secret, region",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_id: Some("access_key_id".into()),
|
access_key_id: Some("access_key_id".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret, region",
|
"backend error s3 need access_key_secret, region",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, region",
|
"backend error s3 need access_key_id, region",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
region: Some("test-region".into()),
|
region: Some("test-region".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, access_key_secret",
|
"backend error s3 need access_key_id, access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -956,7 +960,7 @@ mod tests {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need region",
|
"backend error s3 need region",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -964,7 +968,7 @@ mod tests {
|
||||||
region: Some("test-region".into()),
|
region: Some("test-region".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret",
|
"backend error s3 need access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -972,7 +976,7 @@ mod tests {
|
||||||
region: Some("test-region".into()),
|
region: Some("test-region".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id",
|
"backend error s3 need access_key_id",
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -996,28 +1000,28 @@ mod tests {
|
||||||
let test_cases = vec![
|
let test_cases = vec![
|
||||||
(
|
(
|
||||||
ObjectStorageInfo::default(),
|
ObjectStorageInfo::default(),
|
||||||
"backend error need access_key_id, access_key_secret, endpoint",
|
"backend error abs need access_key_id, access_key_secret, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_id: Some("access_key_id".into()),
|
access_key_id: Some("access_key_id".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret, endpoint",
|
"backend error abs need access_key_secret, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, endpoint",
|
"backend error abs need access_key_id, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, access_key_secret",
|
"backend error abs need access_key_id, access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1025,7 +1029,7 @@ mod tests {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need endpoint",
|
"backend error abs need endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1033,7 +1037,7 @@ mod tests {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret",
|
"backend error abs need access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1041,7 +1045,7 @@ mod tests {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id",
|
"backend error abs need access_key_id",
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -1065,28 +1069,28 @@ mod tests {
|
||||||
let test_cases = vec![
|
let test_cases = vec![
|
||||||
(
|
(
|
||||||
ObjectStorageInfo::default(),
|
ObjectStorageInfo::default(),
|
||||||
"backend error need access_key_id, access_key_secret, endpoint",
|
"backend error oss need access_key_id, access_key_secret, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_id: Some("access_key_id".into()),
|
access_key_id: Some("access_key_id".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret, endpoint",
|
"backend error oss need access_key_secret, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, endpoint",
|
"backend error oss need access_key_id, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, access_key_secret",
|
"backend error oss need access_key_id, access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1094,7 +1098,7 @@ mod tests {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need endpoint",
|
"backend error oss need endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1102,7 +1106,7 @@ mod tests {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret",
|
"backend error oss need access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1110,7 +1114,7 @@ mod tests {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id",
|
"backend error oss need access_key_id",
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -1134,28 +1138,28 @@ mod tests {
|
||||||
let test_cases = vec![
|
let test_cases = vec![
|
||||||
(
|
(
|
||||||
ObjectStorageInfo::default(),
|
ObjectStorageInfo::default(),
|
||||||
"backend error need access_key_id, access_key_secret, endpoint",
|
"backend error obs need access_key_id, access_key_secret, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_id: Some("access_key_id".into()),
|
access_key_id: Some("access_key_id".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret, endpoint",
|
"backend error obs need access_key_secret, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, endpoint",
|
"backend error obs need access_key_id, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, access_key_secret",
|
"backend error obs need access_key_id, access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1163,7 +1167,7 @@ mod tests {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need endpoint",
|
"backend error obs need endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1171,7 +1175,7 @@ mod tests {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret",
|
"backend error obs need access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1179,7 +1183,7 @@ mod tests {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id",
|
"backend error obs need access_key_id",
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -1203,28 +1207,28 @@ mod tests {
|
||||||
let test_cases = vec![
|
let test_cases = vec![
|
||||||
(
|
(
|
||||||
ObjectStorageInfo::default(),
|
ObjectStorageInfo::default(),
|
||||||
"backend error need access_key_id, access_key_secret, endpoint",
|
"backend error cos need access_key_id, access_key_secret, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_id: Some("access_key_id".into()),
|
access_key_id: Some("access_key_id".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret, endpoint",
|
"backend error cos need access_key_secret, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, endpoint",
|
"backend error cos need access_key_id, endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id, access_key_secret",
|
"backend error cos need access_key_id, access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1232,7 +1236,7 @@ mod tests {
|
||||||
access_key_secret: Some("access_key_secret".into()),
|
access_key_secret: Some("access_key_secret".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need endpoint",
|
"backend error cos need endpoint",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1240,7 +1244,7 @@ mod tests {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_secret",
|
"backend error cos need access_key_secret",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
ObjectStorageInfo {
|
ObjectStorageInfo {
|
||||||
|
|
@ -1248,7 +1252,7 @@ mod tests {
|
||||||
endpoint: Some("test-endpoint.local".into()),
|
endpoint: Some("test-endpoint.local".into()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
},
|
},
|
||||||
"backend error need access_key_id",
|
"backend error cos need access_key_id",
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue