fix: get role and list role need filter billing permission key (#38218)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
wangxiaolei
2026-08-06 06:37:52 +00:00
committed by GitHub
co-authored by autofix-ci[bot]
parent febcc4e054
commit 5bceac05eb
4 changed files with 45 additions and 11 deletions
@@ -24,6 +24,7 @@ from flask import Flask
from pydantic import ValidationError
from werkzeug.exceptions import Forbidden, NotFound
from configs import dify_config
from controllers.console.workspace import rbac as rbac_mod
@@ -176,6 +177,20 @@ class TestPaginationMapping:
):
response = inspect.unwrap(rbac_mod.RBACRolesApi.get)(rbac_mod.RBACRolesApi())
owner_permission_keys = rbac_mod._LEGACY_ROLE_PERMISSION_KEYS["owner"]
valid_owner_permission_keys = []
for permission_key in owner_permission_keys:
if not dify_config.BILLING_ENABLED and "billing" in permission_key:
continue
valid_owner_permission_keys.append(permission_key)
admin_permission_keys = rbac_mod._LEGACY_ROLE_PERMISSION_KEYS["admin"]
valid_admin_permission_keys = []
for permission_key in admin_permission_keys:
if not dify_config.BILLING_ENABLED and "billing" in permission_key:
continue
valid_admin_permission_keys.append(permission_key)
assert response["data"] == [
{
"id": "owner",
@@ -185,7 +200,7 @@ class TestPaginationMapping:
"name": "owner",
"description": "",
"is_builtin": True,
"permission_keys": list(dict.fromkeys(rbac_mod._LEGACY_ROLE_PERMISSION_KEYS["owner"])),
"permission_keys": valid_owner_permission_keys,
"role_tag": "owner",
},
{
@@ -196,7 +211,7 @@ class TestPaginationMapping:
"name": "admin",
"description": "",
"is_builtin": True,
"permission_keys": list(dict.fromkeys(rbac_mod._LEGACY_ROLE_PERMISSION_KEYS["admin"])),
"permission_keys": valid_admin_permission_keys,
"role_tag": "",
},
]
@@ -133,7 +133,7 @@ class TestRoles:
call = _call_args(mock_send)
assert call.method == "GET"
assert call.endpoint == "/rbac/roles/item"
assert call.params == {"id": "role-1"}
assert call.params == {"billing_enabled": True, "id": "role-1"}
def test_members_forwards_role_id_and_pagination(self, mock_send: MagicMock):
mock_send.return_value = {