Skip to main content

validate_permissions

Macro validate_permissions 

Source
macro_rules! validate_permissions {
    ($($permission:expr),* $(,)?) => { ... };
}
Expand description

Macro for test-time permission validation.

Use this macro to validate a complete set of permission names during tests. It generates a test that checks the provided strings with crate::permissions::collision_checker::PermissionCollisionChecker.

The macro accepts both square bracket and parenthesis invocation forms.

§Examples

use webgates_core::validate_permissions;

validate_permissions![
    "read:users",
    "write:users",
    "delete:users",
    "admin:system",
];

validate_permissions!(
    "read:posts",
    "write:posts",
    "delete:posts"
);

validate_permissions![
    "api:read",
    "api:write",
    "admin:users",
    "admin:system",
    "billing:read",
    "billing:write",
];

§Panics

The generated test fails when the provided permission strings contain duplicates or hash collisions.