Skip to content

Commit b5f512b

Browse files
author
Petter H. Juliussen
committed
T#299 Add method for updating team members
1 parent d2b9454 commit b5f512b

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## ?.?.?
2+
3+
* Add method `TeamClient.update_team_members` for adding and/or removing
4+
members to/from a team.
5+
16
## 2.2.1
27

38
* Fixed a bug in `TeamClient.update_team_attribute` when `value` is falsy.

okdata/sdk/team/client.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,9 @@ def update_team_attribute(self, team_id, attribute, value):
6767
return self.patch(
6868
url, {"attributes": {attribute: [value] if value else []}}
6969
).json()
70+
71+
def update_team_members(self, team_id, user_ids):
72+
"""Update members of a team and return the resulting member list."""
73+
url = "{}/teams/{}/members".format(self.api_url, quote(team_id))
74+
log.info(f"SDK:Updating team members: {url}")
75+
return self.put(url, user_ids).json()

tests/team/test_client.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,18 @@ def test_update_team_attribute(requests_mock):
7777
status_code=200,
7878
)
7979
assert TeamClient().update_team_attribute(team_id, "a", "b") == team
80+
81+
82+
def test_update_team_members(requests_mock):
83+
team_id = "abc"
84+
members = [
85+
{"name": "Foo", "username": "foo"},
86+
{"name": "Bar", "username": "bar"},
87+
]
88+
requests_mock.register_uri(
89+
"PUT",
90+
re.compile(f"teams/{team_id}/members"),
91+
text=json.dumps(members),
92+
status_code=200,
93+
)
94+
assert TeamClient().update_team_members(team_id, ["abc-123", "def-456"]) == members

0 commit comments

Comments
 (0)