Files
rustfs/crates/e2e_test/src/policy
Zhengchao An 2909b1bfe1 fix(e2e): require a verified server binary for every e2e run (#7687)
* 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
2026-09-12 11:23:06 +08:00
..

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:

  1. Single-value variables - Basic variable resolution like ${aws:username}
  2. Multi-value variables - Variables that can have multiple values
  3. Variable concatenation - Combining variables with static text like prefix-${aws:username}-suffix
  4. Nested variables - Complex nested variable patterns like ${${aws:username}-test}
  5. Deny scenarios - Testing deny policies with variables
  6. STS credentials - Variable resolution inherited by temporary credentials

Prerequisites

  • awscurl utility 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.