From 58954c066ba8a7254b585388dbb656d10f3e9d20 Mon Sep 17 00:00:00 2001 From: "thomas.yu" Date: Thu, 6 Aug 2020 21:46:42 -0700 Subject: [PATCH 1/2] Add in function to remove members from team --- challengeutils/utils.py | 14 ++++++++++++++ tests/test_utils.py | 11 +++++++++++ 2 files changed, 25 insertions(+) diff --git a/challengeutils/utils.py b/challengeutils/utils.py index 984eae18..33e3d6c6 100644 --- a/challengeutils/utils.py +++ b/challengeutils/utils.py @@ -11,6 +11,7 @@ from synapseclient.annotations import (is_submission_status_annotations, to_submission_status_annotations) from synapseclient.core.exceptions import SynapseHTTPError +from synapseclient.core.utils import id_of logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) @@ -517,3 +518,16 @@ def delete_submission(syn, submissionid): """ sub = syn.getSubmission(submissionid, downloadFile=False) syn.delete(sub) + + +def remove_team_member(syn, team, user): + """Removes team member + + Args: + syn: Synapse object + team: synaspeclient.Team or its id + user: synapseclient.UserProfile or its id + """ + teamid = id_of(team) + userid = id_of(user) + syn.restDELETE(f"/team/{teamid}/member/{userid}") diff --git a/tests/test_utils.py b/tests/test_utils.py index 5979fb1e..d8a66f69 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -275,3 +275,14 @@ def test_delete_submission(): challengeutils.utils.delete_submission(syn, "12345") patch_get.assert_called_once_with("12345", downloadFile=False) patch_delete.assert_called_once_with(sub) + + +def test_remove_team_member(): + team = synapseclient.Team(id=123) + user = synapseclient.UserProfile(ownerId=2222) + + with patch.object(syn, "restDELETE") as patch_rest: + challengeutils.utils.remove_team_member(syn, team, user) + patch_rest.assert_called_once_with( + "/team/123/member/2222" + ) From 7639a33245f9f31330cd48efb96a4a234c90de8d Mon Sep 17 00:00:00 2001 From: "thomas.yu" Date: Thu, 6 Aug 2020 21:48:13 -0700 Subject: [PATCH 2/2] Remove extra space --- tests/test_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_utils.py b/tests/test_utils.py index d8a66f69..339b953e 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -278,7 +278,7 @@ def test_delete_submission(): def test_remove_team_member(): - team = synapseclient.Team(id=123) + team = synapseclient.Team(id=123) user = synapseclient.UserProfile(ownerId=2222) with patch.object(syn, "restDELETE") as patch_rest: