From 4a752e627b781774cff8a1910242f4fc4e55f105 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Mar 26 2021 15:58:17 +0000 Subject: Small fix to access the data returned by fasjson Signed-off-by: Pierre-Yves Chibon --- diff --git a/tests/utils/test_fedora_account_fasjson.py b/tests/utils/test_fedora_account_fasjson.py index 96da891..38880d8 100644 --- a/tests/utils/test_fedora_account_fasjson.py +++ b/tests/utils/test_fedora_account_fasjson.py @@ -61,7 +61,8 @@ class TestFedoraAccountFASJSON: member.role_type = "administrator" member.username = name members.append(member) - result = {"result": members} + result = Mock() + result.result = members server = Mock() server.list_group_members.return_value = result mock_fas.return_value = server @@ -83,8 +84,9 @@ class TestFedoraAccountFASJSON: @patch("toddlers.utils.fedora_account.get_fasjson") def test_get_group_member_empty(self, mock_fas): members = [] + result = Mock() + result.result = members server = Mock() - result = {"result": members} server.list_group_members.return_value = result mock_fas.return_value = server @@ -93,8 +95,10 @@ class TestFedoraAccountFASJSON: @patch("toddlers.utils.fedora_account.get_fasjson") def test_get_bz_email_user_no_bugzilla_email(self, mock_fas): + result = Mock() + result.result = {} server = Mock() - server.get_user.return_value = {} + server.get_user.return_value = result mock_fas.return_value = server output = toddlers.utils.fedora_account.get_bz_email_user("pingou", {}) @@ -102,8 +106,10 @@ class TestFedoraAccountFASJSON: @patch("toddlers.utils.fedora_account.get_fasjson") def test_get_bz_email_user(self, mock_fas): + result = Mock() + result.result = {"emails": ["foo@bar.com"]} server = Mock() - server.get_user.return_value = {"result": {"emails": ["foo@bar.com"]}} + server.get_user.return_value = result mock_fas.return_value = server output = toddlers.utils.fedora_account.get_bz_email_user("pingou", {}) @@ -122,8 +128,10 @@ class TestFedoraAccountFASJSON: @patch("toddlers.utils.fedora_account.get_fasjson") def test_get_bz_email_group_no_bugzilla_email(self, mock_fas): + result = Mock() + result.result = {} server = Mock() - server.get_group.return_value = {} + server.get_group.return_value = result mock_fas.return_value = server output = toddlers.utils.fedora_account.get_bz_email_group("toddlers-sig", {}) @@ -131,10 +139,10 @@ class TestFedoraAccountFASJSON: @patch("toddlers.utils.fedora_account.get_fasjson") def test_get_bz_email_group(self, mock_fas): + result = Mock() + result.result = {"mailing_list": "foo@lists.bar.com"} server = Mock() - server.get_group.return_value = { - "result": {"mailing_list": "foo@lists.bar.com"} - } + server.get_group.return_value = result mock_fas.return_value = server output = toddlers.utils.fedora_account.get_bz_email_group("toddlers-sig", {}) @@ -154,7 +162,8 @@ class TestFedoraAccountFASJSON: @patch("toddlers.utils.fedora_account.get_fasjson") def test_get_user_by_email(self, mock_fas): user = [{"username": "scoady", "emails": ["scoady@fp.o"]}] - result = {"result": user} + result = Mock() + result.result = user server = Mock() server.search.return_value = result mock_fas.return_value = server @@ -165,7 +174,8 @@ class TestFedoraAccountFASJSON: @patch("toddlers.utils.fedora_account.get_fasjson") def test_get_user_by_email_empty(self, mock_fas): user = [] - result = {"result": user} + result = Mock() + result.result = user server = Mock() server.search.return_value = result mock_fas.return_value = server diff --git a/toddlers/utils/fedora_account.py b/toddlers/utils/fedora_account.py index 8afbc74..b46a931 100644 --- a/toddlers/utils/fedora_account.py +++ b/toddlers/utils/fedora_account.py @@ -79,7 +79,7 @@ def __get_fas_grp_member(group: str = "packager") -> Mapping[str, Mapping[str, A else: fasjson = get_fasjson() try: - return fasjson.list_group_members(groupname=group).get("result", []) + return fasjson.list_group_members(groupname=group).result or [] except ClientError: return {} @@ -103,7 +103,7 @@ def get_bz_email_user(username, email_overrides): else: fasjson = get_fasjson() try: - user_info = fasjson.get_user(username=username).get("result", {}) + user_info = fasjson.get_user(username=username).result or {} emails = user_info.get("emails", []) if not emails: return None @@ -131,7 +131,7 @@ def get_bz_email_group(groupname, email_overrides): else: fasjson = get_fasjson() try: - group = fasjson.get_group(groupname=groupname).get("result", {}) + group = fasjson.get_group(groupname=groupname).result or {} except ClientError: return None @@ -155,7 +155,7 @@ def get_user_by_email(email: str) -> dict: else: fasjson = get_fasjson() try: - result = fasjson.search(email=email).get("result", []) + result = fasjson.search(email=email).result or [] if not result: return None else: