Feat/e2e s3tests (#1120)

Signed-off-by: 安正超 <anzhengchao@gmail.com>
This commit is contained in:
安正超
2025-12-11 22:32:07 +08:00
committed by GitHub
parent 997f54e700
commit cb3e496b17
10 changed files with 762 additions and 10 deletions
+6 -1
View File
@@ -1650,13 +1650,18 @@ pub fn get_concurrency_manager() -> &'static ConcurrencyManager {
&CONCURRENCY_MANAGER
}
/// Testing helper to reset the global request counter.
pub(crate) fn reset_active_get_requests() {
ACTIVE_GET_REQUESTS.store(0, Ordering::Relaxed);
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_concurrent_request_tracking() {
// Ensure we start from a clean state
reset_active_get_requests();
assert_eq!(GetObjectGuard::concurrent_requests(), 0);
let _guard1 = GetObjectGuard::new();
@@ -532,6 +532,8 @@ mod tests {
/// Test advanced buffer sizing with file patterns
#[tokio::test]
async fn test_advanced_buffer_sizing() {
crate::storage::concurrency::reset_active_get_requests();
let base_buffer = 256 * KI_B; // 256KB base
// Test small file optimization
+8
View File
@@ -2454,6 +2454,13 @@ impl S3 for FS {
.map(|v| SSECustomerAlgorithm::from(v.clone()));
let sse_customer_key_md5 = metadata_map.get("x-amz-server-side-encryption-customer-key-md5").cloned();
let ssekms_key_id = metadata_map.get("x-amz-server-side-encryption-aws-kms-key-id").cloned();
// Prefer explicit storage_class from object info; fall back to persisted metadata header.
let storage_class = info
.storage_class
.clone()
.or_else(|| metadata_map.get("x-amz-storage-class").cloned())
.filter(|s| !s.is_empty())
.map(ObjectStorageClass::from);
let mut checksum_crc32 = None;
let mut checksum_crc32c = None;
@@ -2507,6 +2514,7 @@ impl S3 for FS {
checksum_sha256,
checksum_crc64nvme,
checksum_type,
storage_class,
// metadata: object_metadata,
..Default::default()
};