From 087df484a3c5795a274df3e08159a2d3a019fe90 Mon Sep 17 00:00:00 2001 From: likewu Date: Tue, 2 Sep 2025 18:18:26 +0800 Subject: [PATCH] Fix/ilm (#478) --- .../ahm/tests/lifecycle_integration_test.rs | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/crates/ahm/tests/lifecycle_integration_test.rs b/crates/ahm/tests/lifecycle_integration_test.rs index 01cca5df..6138b671 100644 --- a/crates/ahm/tests/lifecycle_integration_test.rs +++ b/crates/ahm/tests/lifecycle_integration_test.rs @@ -19,7 +19,7 @@ use rustfs_ecstore::{ disk::endpoint::Endpoint, endpoints::{EndpointServerPools, Endpoints, PoolEndpoints}, store::ECStore, - store_api::{ObjectIO, ObjectOptions, PutObjReader, StorageAPI}, + store_api::{MakeBucketOptions, ObjectIO, ObjectOptions, PutObjReader, StorageAPI}, tier::tier::TierConfigMgr, tier::tier_config::{TierConfig, TierMinIO, TierType}, }; @@ -132,6 +132,22 @@ async fn create_test_bucket(ecstore: &Arc, bucket_name: &str) { info!("Created test bucket: {}", bucket_name); } +/// Test helper: Create a test lock bucket +async fn create_test_lock_bucket(ecstore: &Arc, bucket_name: &str) { + (**ecstore) + .make_bucket( + bucket_name, + &MakeBucketOptions { + lock_enabled: true, + versioning_enabled: true, + ..Default::default() + }, + ) + .await + .expect("Failed to create test bucket"); + info!("Created test bucket: {}", bucket_name); +} + /// Test helper: Upload test object async fn upload_test_object(ecstore: &Arc, bucket: &str, object: &str, data: &[u8]) { let mut reader = PutObjReader::from_vec(data.to_vec()); @@ -339,7 +355,6 @@ async fn test_lifecycle_expiry_basic() { tokio::time::sleep(Duration::from_secs(5)).await; // Check if object has been expired (delete_marker) - //let check_result = object_is_delete_marker(&ecstore, bucket_name, object_name).await; let check_result = object_exists(&ecstore, bucket_name, object_name).await; println!("Object is_delete_marker after lifecycle processing: {check_result}"); @@ -384,7 +399,7 @@ async fn test_lifecycle_expiry_deletemarker() { let object_name = "test/object.txt"; // Match the lifecycle rule prefix "test/" let test_data = b"Hello, this is test data for lifecycle expiry!"; - create_test_bucket(&ecstore, bucket_name).await; + create_test_lock_bucket(&ecstore, bucket_name).await; upload_test_object(&ecstore, bucket_name, object_name, test_data).await; // Verify object exists initially @@ -433,6 +448,7 @@ async fn test_lifecycle_expiry_deletemarker() { tokio::time::sleep(Duration::from_secs(5)).await; // Check if object has been expired (deleted) + //let check_result = object_is_delete_marker(&ecstore, bucket_name, object_name).await; let check_result = object_exists(&ecstore, bucket_name, object_name).await; println!("Object exists after lifecycle processing: {check_result}");