mirror of
https://github.com/status-im/PyGithub.git
synced 2026-09-02 11:51:10 +00:00
Add remove_membership() method to Teams class (#807)
Per the Github v3 API [docs](https://developer.github.com/v3/teams/members/#deprecation-notice-2), the "remove team member" api is deprecated. This PR implements the new API call. Deprecated API: ``` DELETE /teams/:team_id/members/:username ``` New API: ``` DELETE /teams/:team_id/memberships/:username ``` This PR also adds a `deprecation` notice to the docstring of the deprecated methods.
This commit is contained in:
@@ -149,6 +149,9 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
|
||||
def add_to_members(self, member):
|
||||
"""
|
||||
This API call is deprecated. Use `add_membership` instead.
|
||||
https://developer.github.com/v3/teams/members/#deprecation-notice-1
|
||||
|
||||
:calls: `PUT /teams/:id/members/:user <http://developer.github.com/v3/orgs/teams>`_
|
||||
:param member: :class:`github.NamedUser.NamedUser`
|
||||
:rtype: None
|
||||
@@ -304,8 +307,23 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
)
|
||||
return status == 204
|
||||
|
||||
def remove_membership(self, member):
|
||||
"""
|
||||
:calls: `DELETE /teams/:team_id/memberships/:username <https://developer.github.com/v3/teams/members/#remove-team-membership>`
|
||||
:param member:
|
||||
:return:
|
||||
"""
|
||||
assert isinstance(member, github.NamedUser.NamedUser), member
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"DELETE",
|
||||
self.url + "/memberships/" + member._identity
|
||||
)
|
||||
|
||||
def remove_from_members(self, member):
|
||||
"""
|
||||
This API call is deprecated. Use `remove_membership` instead:
|
||||
https://developer.github.com/v3/teams/members/#deprecation-notice-2
|
||||
|
||||
:calls: `DELETE /teams/:id/members/:user <http://developer.github.com/v3/orgs/teams>`_
|
||||
:param member: :class:`github.NamedUser.NamedUser`
|
||||
:rtype: None
|
||||
|
||||
@@ -107,3 +107,13 @@ None
|
||||
200
|
||||
[('status', '200 OK'), ('x-ratelimit-remaining', '4949'), ('content-length', '151'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8856425cedbdf3075576e823f39fc3d6"'), ('date', 'Sat, 26 May 2012 21:14:46 GMT'), ('content-type', 'application/json; charset=utf-8')]
|
||||
[]
|
||||
|
||||
https
|
||||
DELETE
|
||||
api.github.com
|
||||
None
|
||||
/teams/189850/memberships/jacquev6
|
||||
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
|
||||
None
|
||||
204
|
||||
[('status', '204 No Content'), ('x-ratelimit-remaining', '4968'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 21:09:57 GMT')]
|
||||
|
||||
@@ -65,6 +65,7 @@ class Team(Framework.TestCase):
|
||||
self.assertFalse(self.team.has_in_members(user))
|
||||
self.team.add_membership(user, "maintainer")
|
||||
self.assertRaises(AssertionError, self.team.add_membership, user, "admin")
|
||||
self.team.remove_membership(user)
|
||||
|
||||
def testRepoPermission(self):
|
||||
repo = self.org.get_repo("FatherBeaver")
|
||||
|
||||
Reference in New Issue
Block a user