use common::{cleanup_service, generate_unique_service_name, is_redis_available, setup_logging};
use oxcache::Cache;
use std::time::Duration;
use crate::common;
#[tokio::test]
async fn test_batch_write_performance() {
if !is_redis_available().await {
return;
}
setup_logging();
let service_name = generate_unique_service_name("batch_test");
let redis_url = "redis://127.0.0.1:6379";
let cache: Cache<String, i32> = Cache::tiered(100, redis_url)
.await
.expect("Failed to create tiered cache");
for i in 0..100 {
cache.set(&format!("batch_key_{}", i), &i).await.unwrap();
}
tokio::time::sleep(Duration::from_millis(300)).await;
let value = cache.get(&"batch_key_50".to_string()).await.unwrap();
assert!(value.is_some(), "Value should exist after batch write");
assert_eq!(value.unwrap(), 50);
cache.shutdown().await.expect("Shutdown failed");
cleanup_service(&service_name).await;
}