feat: add tenant-scoped rule and permission management

This commit is contained in:
wren
2026-05-21 22:03:08 +08:00
parent a2c2bf1969
commit 1f1bccf3b3
193 changed files with 64463 additions and 1771 deletions
+35
View File
@@ -0,0 +1,35 @@
from __future__ import annotations
import pytest
from .helpers import ReleaseApiClient, flatten_route_paths
@pytest.mark.release
def test_g1_admin_auth_and_rbac_context(admin_client: ReleaseApiClient) -> None:
me_response = admin_client.get("/api/auth/me")
me = ReleaseApiClient.json_data(me_response)
assert int(me["user_id"]) > 0
assert isinstance(me.get("roles"), list) and me["roles"]
assert isinstance(me.get("permissions"), list)
routes_response = admin_client.get("/api/rbac/user/routes")
routes_data = ReleaseApiClient.json_data(routes_response)
route_paths = flatten_route_paths(routes_data["routes"])
assert "/home" in route_paths
assert "/settings" in route_paths
assert "/role-permissions" in route_paths
users_response = admin_client.get("/api/v3/rbac/users?page=1&page_size=20")
users_data = ReleaseApiClient.json_data(users_response)
assert users_data["total"] >= 1
assert isinstance(users_data["items"], list)
org_response = admin_client.get("/api/admin/users/organizations/tree?include_users=false")
org_data = ReleaseApiClient.json_data(org_response)
assert "organizations" in org_data
assert org_data["total_organizations"] >= 1
tenant_option_response = admin_client.get("/api/v3/tenants/options?feature_key=home.entry_module")
tenant_option_data = ReleaseApiClient.json_data(tenant_option_response)
assert tenant_option_data["total"] >= 1