mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-13 16:46:55 +00:00
a825326ede
* test(e2e): fold seven identical POST-policy exact-mismatch tests into one table The seven *_policy_mismatch tests in multipart_auth_test.rs were body-identical after literal normalization: the policy pins one field to an exact value, the form sends a different value, and the upload must be rejected with 400 InvalidPolicyDocument naming the field. Each test booted its own full server. They fold into one table-driven test on the run_post_object_policy_case helper introduced by the PR1 fold. Every row keeps its original test's exact bucket, key, field name, policy value, mismatched form value, body bytes, and expected error strings — including the three rows that asserted the stronger <Code>InvalidPolicyDocument</Code> form. The pinned condition is built with an explicit serde_json::Map since the field name is now a table parameter. cargo nextest list reports 97 tests for this module; the inventory row is updated in the same diff (103 -> 97). Ref rustfs/backlog#1838 (PR2). * test(e2e): fold the remaining POST-policy duplicate groups (15 tests) (#6018) Completes the multipart_auth table-driven fold: the six remaining body-identical groups collapse onto the shared run_post_object_policy_case helper. - Seven single-field exact-mismatch tests (cache-control, expires, tagging, storage-class, content-type, success_action_status, metadata-field-exact) join the existing exact-condition mismatch table as rows — same shape as the PR2 fold. - The two object-lock mismatch tests become a two-row table (policy pins mode + retain-until-date, one form field mismatches). - The three SSE-KMS parameter mismatch tests become a three-row table (policy pins the SSE mode plus one KMS parameter, form differs). - The three SSE-KMS outside-policy tests become a three-row table pinning the distinct contract: an undeclared KMS parameter sails past policy validation and is rejected at runtime with 501 NotImplemented, not a policy error. Every row keeps its original test's exact bucket, key, field names, values, body bytes, and expected status/code strings. cargo nextest list reports 85 tests for the module; the inventory row is updated in the same diff (97 -> 85). Ref rustfs/backlog#1838 (PR3).
93 lines
3.9 KiB
Markdown
93 lines
3.9 KiB
Markdown
# 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:
|
|
> ```bash
|
|
> 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 | 85 | |
|
|
| 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.
|