fix(ecstore): remove stale bucket metadata parse TODO (#3021)

* fix(ecstore): remove stale bucket metadata parse TODO

* test: cover stored bucket target config parsing
This commit is contained in:
安正超
2026-05-20 11:59:55 +08:00
committed by GitHub
parent dd35538e90
commit b530a9f0b2
+20 -5
View File
@@ -724,7 +724,7 @@ impl BucketMetadata {
return Err(Error::other("errServerNotInitialized"));
};
self.parse_all_configs(store.clone())?;
self.parse_all_configs()?;
let mut buf: Vec<u8> = vec![0; 4];
@@ -752,7 +752,7 @@ impl BucketMetadata {
Ok(())
}
fn parse_all_configs(&mut self, _api: Arc<ECStore>) -> Result<()> {
fn parse_all_configs(&mut self) -> Result<()> {
if let Err(e) = self.parse_policy_config() {
tracing::warn!(bucket = %self.name, config = "policy", error = %e, "parse_all_configs: failed to parse");
}
@@ -881,11 +881,9 @@ pub async fn load_bucket_metadata_parse(api: Arc<ECStore>, bucket: &str, parse:
bm.default_timestamps();
if parse {
bm.parse_all_configs(api)?;
bm.parse_all_configs()?;
}
// TODO: parse_all_configs
Ok(bm)
}
@@ -939,6 +937,23 @@ mod test {
assert_eq!(bm.name, new.name);
}
#[test]
fn parse_all_configs_parses_stored_configs_without_store_dependency() {
let mut bm = BucketMetadata::new("test-bucket");
bm.policy_config_json = br#"{"Version":"2012-10-17","Statement":[]}"#.to_vec();
bm.bucket_targets_config_json =
br#"{"targets":[{"endpoint":"s3.amazonaws.com","targetbucket":"target-bucket","arn":"arn:aws:s3:::target-bucket"}]}"#
.to_vec();
bm.parse_all_configs().unwrap();
assert!(bm.policy_config.is_some());
let bucket_targets = bm.bucket_target_config.unwrap();
assert_eq!(bucket_targets.targets.len(), 1);
assert_eq!(bucket_targets.targets[0].endpoint, "s3.amazonaws.com");
assert_eq!(bucket_targets.targets[0].target_bucket, "target-bucket");
}
#[tokio::test]
async fn marshal_msg_complete_example() {
// Create a complete BucketMetadata with various configurations