diff --git a/src/preset_cli/api/clients/preset.py b/src/preset_cli/api/clients/preset.py index 2d54b49..37c93da 100644 --- a/src/preset_cli/api/clients/preset.py +++ b/src/preset_cli/api/clients/preset.py @@ -31,7 +31,6 @@ class Role(int, Enum): class PresetClient: # pylint: disable=too-few-public-methods - """ A client for the Preset API. """ @@ -157,13 +156,13 @@ def export_users(self, workspace_url: URL) -> Iterator[UserType]: team_members: List[UserType] = [ { "id": 0, - "username": payload["user"]["username"], - "role": [], # TODO (betodealmeida) - "first_name": payload["user"]["first_name"], - "last_name": payload["user"]["last_name"], - "email": payload["user"]["email"].lower(), + "username": element["user"]["username"], + "role": [element["workspace_role"]["role_identifier"]], + "first_name": element["user"]["first_name"], + "last_name": element["user"]["last_name"], + "email": element["user"]["email"].lower(), } - for payload in payload["payload"] + for element in payload["payload"] ] workspace_membership.extend(team_members) diff --git a/tests/api/clients/preset_test.py b/tests/api/clients/preset_test.py index d549d0e..c8cd39b 100644 --- a/tests/api/clients/preset_test.py +++ b/tests/api/clients/preset_test.py @@ -101,6 +101,10 @@ def test_preset_client_export_users(requests_mock: Mocker) -> None: "last_name": "Doe", "email": "adoe@example.com", }, + "workspace_role": { + "name": "Limited Contributor", + "role_identifier": "PresetGamma", + }, }, { "user": { @@ -109,6 +113,10 @@ def test_preset_client_export_users(requests_mock: Mocker) -> None: "last_name": "Doe", "email": "bdoe@example.com", }, + "workspace_role": { + "name": "Limited Contributor", + "role_identifier": "PresetGamma", + }, }, ], "meta": { @@ -127,6 +135,10 @@ def test_preset_client_export_users(requests_mock: Mocker) -> None: "last_name": "Doe", "email": "cdoe@example.com", }, + "workspace_role": { + "name": "Limited Contributor", + "role_identifier": "PresetGamma", + }, }, ], "meta": { @@ -167,7 +179,7 @@ def test_preset_client_export_users(requests_mock: Mocker) -> None: "last_name": "Doe", "username": "adoe", "email": "adoe@example.com", - "role": [], + "role": ["PresetGamma"], }, { "id": 2, @@ -175,7 +187,7 @@ def test_preset_client_export_users(requests_mock: Mocker) -> None: "last_name": "Doe", "username": "bdoe", "email": "bdoe@example.com", - "role": [], + "role": ["PresetGamma"], }, ] diff --git a/tests/api/clients/superset_test.py b/tests/api/clients/superset_test.py index 7f65dfa..4fd1e90 100644 --- a/tests/api/clients/superset_test.py +++ b/tests/api/clients/superset_test.py @@ -1,6 +1,7 @@ """ Tests for ``preset_cli.api.clients.superset``. """ + # pylint: disable=too-many-lines, trailing-whitespace, line-too-long, use-implicit-booleaness-not-comparison import json @@ -16,7 +17,6 @@ from requests_mock.mocker import Mocker from yarl import URL -from preset_cli import __version__ from preset_cli.api.clients.superset import ( RoleType, RuleType, @@ -1891,6 +1891,10 @@ def test_export_users_preset(requests_mock: Mocker) -> None: "last_name": "Doe", "email": "adoe@example.com", }, + "workspace_role": { + "name": "Limited Contributor", + "role_identifier": "PresetGamma", + }, }, { "user": { @@ -1899,6 +1903,10 @@ def test_export_users_preset(requests_mock: Mocker) -> None: "last_name": "Doe", "email": "BDoe@example.com", }, + "workspace_role": { + "name": "Limited Contributor", + "role_identifier": "PresetGamma", + }, }, ], "meta": { @@ -1918,6 +1926,10 @@ def test_export_users_preset(requests_mock: Mocker) -> None: "last_name": "Doe", "email": "cdoe@example.com", }, + "workspace_role": { + "name": "Limited Contributor", + "role_identifier": "PresetGamma", + }, }, ], "meta": { @@ -1972,7 +1984,7 @@ def test_export_users_preset(requests_mock: Mocker) -> None: "last_name": "Doe", "username": "adoe", "email": "adoe@example.com", - "role": [], + "role": ["PresetGamma"], }, { "id": 2, @@ -1980,7 +1992,7 @@ def test_export_users_preset(requests_mock: Mocker) -> None: "last_name": "Doe", "username": "bdoe", "email": "bdoe@example.com", - "role": [], + "role": ["PresetGamma"], }, { "id": 3, @@ -1988,7 +2000,7 @@ def test_export_users_preset(requests_mock: Mocker) -> None: "last_name": "Doe", "username": "cdoe", "email": "cdoe@example.com", - "role": [], + "role": ["PresetGamma"], }, ]