Files
rustfs/docs/testing/e2e-suite-inventory.md
T
Zhengchao An e087044658 test(e2e): fold nine identical POST-policy rejection tests into one table (#6000)
The nine *_missing_from_policy_conditions tests in multipart_auth_test.rs were literal-for-literal identical after normalization: policy pins bucket + key + content-length-range, the form smuggles one extra field the policy never declared, and the upload must be rejected with 403 AccessDenied naming the field. Each one started its own full server.

This adds the run_post_object_policy_case helper (parameterized by bucket, key, policy conditions, extra form fields, file body, and expected status/code/mention, with a per-case assertion prefix) and folds the nine tests into one table-driven test with nine rows. Every row keeps its original test's exact bucket, key, field name/value, body bytes, and expected error strings — including the two rows that asserted the stronger <Code>AccessDenied</Code> form — so no poison value is lost. The helper's signature is general enough for the policy_mismatch and sse-kms groups planned as PR2/PR3.

cargo nextest list now reports 103 tests for this module; the inventory row said 109 while the file actually held 111 before this change (stale by two), so the inventory is set to the measured 103 in the same diff per the issue's hard constraint.

Ref rustfs/backlog#1838 (PR1).
2026-08-12 15:27:06 +00:00

3.9 KiB

e2e_test suite inventory

Authoritative per-module test counts for the e2e_test crate (backlog#1149 ci-4), generated from cargo nextest list -p e2e_test. Regenerate with:

cargo nextest list -p e2e_test --message-format json | jq -r '.["rust-suites"][]?.testcases | to_entries[] | select(.value.ignored == false) | .key | split("::")[0]' | sort | uniq -c

Modules marked are in the PR smoke profile e2e-smoke (.config/nextest.toml); admission criteria: crates/e2e_test/README.md. 🌙 marks tests in the scheduled e2e-repl-nightly profile (backlog#1147 repl-1): replication_extension_test splits 20 fast tests into the PR smoke lane and 28 slow / _real_dual_node / _real_three_node / _real_single_node tests into the nightly lane (.github/workflows/e2e-replication-nightly.yml). Note: counts exclude #[ignore]d tests (nextest lists them separately). Managed-SSE (SSE-S3/SSE-KMS) replication contracts assert successful re-encryption on the target (backlog#1783); SSE-C replication still pins a fail-closed FAILED contract until ciphertext passthrough lands.

module tests PR smoke
admin_auth_test 4
admin_iam_crud_test 2
admin_pools_test 1
admin_timeout_regression_test 1
anonymous_access_test 4
api_rate_limit_test 3
archive_download_integrity_test 13
bucket_logging_test 3
bucket_policy_check_test 1
checksum_upload_test 7
cluster_concurrency_test 2
cluster_multidrive_pool_test 2
common 12
compression_test 1
connection_cap_test 2
console_smoke_test 1
content_encoding_test 3
copy_object_checksum_test 7
copy_object_metadata_test 4
copy_object_tagging_test 2
copy_object_version_restore_test 2
copy_source_invalid_date_test 1
create_bucket_region_test 2
degraded_read_eof_regression_test 3
delete_marker_migration_semantics_test 2
delete_object_no_content_length_test 1
delete_objects_versioning_test 2
existing_object_tag_policy_test 4
fake_s3_target 4
fault_proxy 7
get_codec_streaming_compat_test 1
head_object_consistency_test 1
head_object_range_test 1
heal_erasure_disk_rebuild_test 3
inline_fast_path_cluster_test 14
internode_rpc_signature_e2e_test 5
kms 41
leading_slash_key_test 2
list_buckets_double_slash_test 3
list_object_versions_metadata_extension_test 1
list_object_versions_regression_test 2
list_objects_duplicates_test 3
list_objects_v2_metadata_extension_test 1
list_objects_v2_pagination_test 12
mc_mirror_small_bucket_test 1
multipart_auth_test 103
multipart_storage_class_test 3
namespace_lock_quorum_test 2
negative_sigv4_test 6
notification_webhook_test 3
object_lambda_test 16
object_lock 33
overwrite_cleanup_regression_test 1
presigned_negative_test 7
protocols 16
quota_test 14
reliability_disk_fault_test 3
reliant 24 18
replication_extension_test 50 20 +30 🌙
security_boundary_test 4
ssec_copy_test 2
server_startup_failfast_test 1
snowball_auto_extract_test 6
special_chars_test 14
stale_multipart_cleanup_cluster_test 1
storage_class_capability_test 4
sts_query_compat_test 3
tls_gen 3
tls_hot_reload_test 1
version_id_regression_test 10

Total listed: 530 tests across 70 modules · PR smoke subset: 148 tests / 33 modules (31 full modules + 18 reliant tests + 20 of replication_extension_test) · nightly e2e-repl-nightly: 30 tests · updated 2026-08-09.