From 7c6d3e187f13231b7da92cdb4bc27d11d49bf571 Mon Sep 17 00:00:00 2001 From: fatelei Date: Tue, 19 May 2026 15:40:36 +0800 Subject: [PATCH] fix: fix response --- api/services/enterprise/rbac_service.py | 7 +++---- .../services/enterprise/test_rbac_service.py | 20 +++++++------------ 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/api/services/enterprise/rbac_service.py b/api/services/enterprise/rbac_service.py index 07349fe9a0..156d294725 100644 --- a/api/services/enterprise/rbac_service.py +++ b/api/services/enterprise/rbac_service.py @@ -1202,10 +1202,9 @@ class RBACService: account_id=account_id, json={"account_ids": member_account_ids}, ) - if isinstance(data, list): - items = data - else: - items = (data or {}).get("data") or [] + items = [] + if isinstance(data, dict): + items = [{"account_id": account_id, "roles": roles} for account_id, roles in data.items()] rst = [] for item in items: tmp = MemberRolesResponse.model_validate(item) 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 d43d4994e7..74b3e36898 100644 --- a/api/tests/unit_tests/services/enterprise/test_rbac_service.py +++ b/api/tests/unit_tests/services/enterprise/test_rbac_service.py @@ -488,19 +488,11 @@ class TestMemberRoles: def test_batch_get(self, mock_send: MagicMock): mock_send.return_value = { - "data": [ - { - "account_id": "acct-2", - "roles": [ - {"id": "role-1", "name": "Admin"}, - {"id": "role-2", "name": "Editor"}, - ], - }, - { - "account_id": "acct-3", - "roles": [], - }, - ] + "acct-2": [ + {"id": "role-1", "name": "Admin"}, + {"id": "role-2", "name": "Editor"}, + ], + "acct-3": [], } out = svc.RBACService.MemberRoles.batch_get("tenant-1", "acct-1", ["acct-2", "acct-3"]) @@ -511,6 +503,8 @@ class TestMemberRoles: assert call.json == {"account_ids": ["acct-2", "acct-3"]} assert out[0].account_id == "acct-2" assert len(out[0].roles) == 2 + assert out[1].account_id == "acct-3" + assert out[1].roles == [] class TestResourcePermissions: