File tree Expand file tree Collapse file tree 2 files changed +46
-0
lines changed
Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Original file line number Diff line number Diff line change @@ -268,3 +268,26 @@ async def update_member(
268268 data = {"role" : role .value }
269269 response = await self ._client .put (api , data = data )
270270 response .raise_for_status ()
271+
272+ async def remove_member (
273+ self ,
274+ organization : str ,
275+ team : str ,
276+ username : str ,
277+ ) -> None :
278+ """
279+ Remove a member from a team.
280+
281+ https://docs.github.com/en/rest/teams/members#remove-team-membership-for-a-user
282+
283+ Args:
284+ organization: GitHub organization to use
285+ team: The slug of the team name.
286+ username: The handle for the GitHub user account.
287+
288+ Raises:
289+ `httpx.HTTPStatusError` if there was an error in the request
290+ """
291+ api = f"/orgs/{ organization } /teams/{ team } /memberships/{ username } "
292+ response = await self ._client .delete (api )
293+ response .raise_for_status ()
Original file line number Diff line number Diff line change @@ -240,3 +240,26 @@ async def test_update_member_failure(self):
240240 self .client .put .assert_awaited_once_with (
241241 "/orgs/foo/teams/bar/memberships/baz" , data = {"role" : "member" }
242242 )
243+
244+ async def test_remove_member (self ):
245+ response = create_response ()
246+ self .client .delete .return_value = response
247+
248+ await self .api .remove_member ("foo" , "bar" , "baz" )
249+
250+ self .client .delete .assert_awaited_once_with (
251+ "/orgs/foo/teams/bar/memberships/baz"
252+ )
253+
254+ async def test_remove_member_failure (self ):
255+ response = create_response ()
256+ self .client .delete .side_effect = httpx .HTTPStatusError (
257+ "404" , request = MagicMock (), response = response
258+ )
259+
260+ with self .assertRaises (httpx .HTTPStatusError ):
261+ await self .api .remove_member ("foo" , "bar" , "baz" )
262+
263+ self .client .delete .assert_awaited_once_with (
264+ "/orgs/foo/teams/bar/memberships/baz"
265+ )
You can’t perform that action at this time.
0 commit comments