mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-29 16:37:07 +00:00
test(e2e): require remaining 404 absence oracles (#6530)
This commit is contained in:
@@ -155,8 +155,13 @@ mod tests {
|
|||||||
.key(key)
|
.key(key)
|
||||||
.version_id(version_id)
|
.version_id(version_id)
|
||||||
.send()
|
.send()
|
||||||
.await;
|
.await
|
||||||
assert!(get_deleted_version.is_err(), "explicitly deleted version should no longer be readable");
|
.expect_err("explicitly deleted version should no longer be readable");
|
||||||
|
assert_eq!(
|
||||||
|
get_deleted_version.raw_response().map(|response| response.status().as_u16()),
|
||||||
|
Some(404),
|
||||||
|
"explicitly deleted version absence probe must return HTTP 404, got {get_deleted_version:?}"
|
||||||
|
);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -463,8 +463,18 @@ async fn test_e2e_sts_session_policy_delete_objects_object_prefix_only() -> Resu
|
|||||||
assert_eq!(error.key(), Some(denied_key));
|
assert_eq!(error.key(), Some(denied_key));
|
||||||
assert_eq!(error.code(), Some("AccessDenied"));
|
assert_eq!(error.code(), Some("AccessDenied"));
|
||||||
|
|
||||||
let allowed_head = parent_client.head_object().bucket(&bucket).key(allowed_key).send().await;
|
let allowed_head = parent_client
|
||||||
assert!(allowed_head.is_err(), "allowed-prefix object should have been deleted");
|
.head_object()
|
||||||
|
.bucket(&bucket)
|
||||||
|
.key(allowed_key)
|
||||||
|
.send()
|
||||||
|
.await
|
||||||
|
.expect_err("allowed-prefix object should have been deleted");
|
||||||
|
assert_eq!(
|
||||||
|
allowed_head.raw_response().map(|response| response.status().as_u16()),
|
||||||
|
Some(404),
|
||||||
|
"allowed-prefix object absence probe must return HTTP 404, got {allowed_head:?}"
|
||||||
|
);
|
||||||
|
|
||||||
parent_client
|
parent_client
|
||||||
.head_object()
|
.head_object()
|
||||||
|
|||||||
@@ -276,9 +276,17 @@ async fn copy_object_rotates_ssec_key_and_drops_source_encryption_metadata() ->
|
|||||||
.await
|
.await
|
||||||
.expect_err("invalid source SSE-C parameters must reject CopyObject");
|
.expect_err("invalid source SSE-C parameters must reject CopyObject");
|
||||||
assert_secret_absent(&format!("{error:?}"), &[&source_key, &wrong_key]);
|
assert_secret_absent(&format!("{error:?}"), &[&source_key, &wrong_key]);
|
||||||
assert!(
|
let absence = client
|
||||||
client.head_object().bucket(bucket).key(&failed_target).send().await.is_err(),
|
.head_object()
|
||||||
"a rejected CopyObject must not create its target"
|
.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();
|
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,
|
abort_attempts_before + 1,
|
||||||
"each failed multipart copy must issue exactly one wire-level abort attempt"
|
"each failed multipart copy must issue exactly one wire-level abort attempt"
|
||||||
);
|
);
|
||||||
assert!(
|
let absence = client
|
||||||
client.head_object().bucket(bucket).key(&failed_target).send().await.is_err(),
|
.head_object()
|
||||||
"an aborted failed multipart copy must leave no completed 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();
|
env.stop_server();
|
||||||
|
|||||||
Reference in New Issue
Block a user