mirror of
https://github.com/rustfs/rustfs.git
synced 2026-09-21 01:53:30 +00:00
2909b1bfe1
* fix(ci): share quick checks and lint workflows * fix(ci): install actionlint from its verified release * fix(ci): reject dependencies on required quick checks * feat(test): verify the E2E server build and source identity * test(e2e): register verified Darwin test membership * test(e2e): record verified Linux receipt test membership * test(e2e): record compiled Darwin receipt test membership * test(e2e): record compiled Linux receipt test membership * test(e2e): record Darwin e2e-full membership after merging main * fix(test): route scanner/heal evidence E2E runs through the verified server binary The evidence runners built rustfs with plain cargo and then ran e2e_test directly, which now fails without a run receipt. They build through scripts/e2e_binary.py and run the e2e_test invocations under e2e_binary.py run; the obsolete rustfs.features stamp is removed. * docs(e2e): run server-backed e2e commands through the verified binary wrapper * test(e2e): record Linux e2e-full membership from the branch CI listing
RustFS Policy Variables Tests
This directory contains comprehensive end-to-end tests for AWS IAM policy variables in RustFS.
Test Overview
The tests cover the following AWS policy variable scenarios:
- Single-value variables - Basic variable resolution like
${aws:username} - Multi-value variables - Variables that can have multiple values
- Variable concatenation - Combining variables with static text like
prefix-${aws:username}-suffix - Nested variables - Complex nested variable patterns like
${${aws:username}-test} - Deny scenarios - Testing deny policies with variables
- STS credentials - Variable resolution inherited by temporary credentials
Prerequisites
awscurlutility for admin API calls- AWS SDK for Rust (included in the project)
Running Tests
Run All Policy Tests
# From the project root directory
python3 scripts/e2e_binary.py build
python3 scripts/e2e_binary.py run -- cargo test -p e2e_test policy:: -- --nocapture
Each test starts an isolated RustFS server on a dynamically allocated local port and cleans it up afterward.