test(e2e): require remaining 404 absence oracles (#6530)

This commit is contained in:
Zhengchao An
2026-08-24 21:25:27 +08:00
committed by GitHub
parent 102fb767ce
commit 1f40c3ecd0
3 changed files with 41 additions and 10 deletions
+22 -6
View File
@@ -276,9 +276,17 @@ async fn copy_object_rotates_ssec_key_and_drops_source_encryption_metadata() ->
.await
.expect_err("invalid source SSE-C parameters must reject CopyObject");
assert_secret_absent(&format!("{error:?}"), &[&source_key, &wrong_key]);
assert!(
client.head_object().bucket(bucket).key(&failed_target).send().await.is_err(),
"a rejected CopyObject must not create its target"
let absence = client
.head_object()
.bucket(bucket)
.key(&failed_target)
.send()
.await
.expect_err("a rejected CopyObject must not create its target");
assert_eq!(
absence.raw_response().map(|response| response.status().as_u16()),
Some(404),
"rejected CopyObject absence probe must return HTTP 404, got {absence:?}"
);
}
env.stop_server();
@@ -464,9 +472,17 @@ async fn multipart_copy_requires_keys_on_every_stage_and_abort_leaves_no_object(
abort_attempts_before + 1,
"each failed multipart copy must issue exactly one wire-level abort attempt"
);
assert!(
client.head_object().bucket(bucket).key(&failed_target).send().await.is_err(),
"an aborted failed multipart copy must leave no completed object"
let absence = client
.head_object()
.bucket(bucket)
.key(&failed_target)
.send()
.await
.expect_err("an aborted failed multipart copy must leave no completed object");
assert_eq!(
absence.raw_response().map(|response| response.status().as_u16()),
Some(404),
"aborted multipart copy absence probe must return HTTP 404, got {absence:?}"
);
}
env.stop_server();