From cd2b623aee6d85fdb1cbbea484c8a631be136f2d Mon Sep 17 00:00:00 2001 From: fatelei Date: Mon, 11 May 2026 19:18:59 +0800 Subject: [PATCH] fix: add miss name --- api/services/enterprise/rbac_service.py | 2 + .../services/enterprise/test_rbac_service.py | 38 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/api/services/enterprise/rbac_service.py b/api/services/enterprise/rbac_service.py index 8e506e8497..64ac9b8829 100644 --- a/api/services/enterprise/rbac_service.py +++ b/api/services/enterprise/rbac_service.py @@ -117,6 +117,7 @@ class AccessPolicyRoleBinding(_RBACModel): resource_type: str resource_id: str = "" role_id: str + role_name: str = "" created_at: int = 0 @@ -127,6 +128,7 @@ class AccessPolicyMemberBinding(_RBACModel): resource_type: str resource_id: str = "" account_id: str + account_name: str = "" created_at: int = 0 diff --git a/api/tests/unit_tests/services/enterprise/test_rbac_service.py b/api/tests/unit_tests/services/enterprise/test_rbac_service.py index d0ca825434..5ab3c537e5 100644 --- a/api/tests/unit_tests/services/enterprise/test_rbac_service.py +++ b/api/tests/unit_tests/services/enterprise/test_rbac_service.py @@ -220,6 +220,44 @@ class TestResourceAccess: assert call.params == {"app_id": "app-1"} assert out.app_id == "app-1" + def test_app_role_bindings_preserve_role_name(self, mock_send: MagicMock): + mock_send.return_value = { + "data": [ + { + "id": "binding-1", + "tenant_id": "tenant-1", + "access_policy_id": "policy-1", + "resource_type": "app", + "resource_id": "app-1", + "role_id": "role-1", + "role_name": "Owner", + } + ] + } + + out = svc.RBACService.AppAccess.list_role_bindings("tenant-1", "acct-1", "app-1", "policy-1") + + assert out.data[0].role_name == "Owner" + + def test_app_member_bindings_preserve_account_name(self, mock_send: MagicMock): + mock_send.return_value = { + "data": [ + { + "id": "binding-1", + "tenant_id": "tenant-1", + "access_policy_id": "policy-1", + "resource_type": "app", + "resource_id": "app-1", + "account_id": "acct-1", + "account_name": "Alice", + } + ] + } + + out = svc.RBACService.AppAccess.list_member_bindings("tenant-1", "acct-1", "app-1", "policy-1") + + assert out.data[0].account_name == "Alice" + def test_app_replace_bindings(self, mock_send: MagicMock): mock_send.return_value = {"data": []} payload = svc.ReplaceBindings(role_ids=["workspace.owner"], account_ids=["acct-2"])