mirror of
https://github.com/status-im/PyGithub.git
synced 2026-08-31 19:01:15 +00:00
Add role parameter to Team.add_membership method (#638)
This commit is contained in:
committed by
Jason White
parent
5a1424bbc4
commit
01ab4cc6ae
+15
-2
@@ -125,16 +125,29 @@ class Team(github.GithubObject.CompletableGithubObject):
|
||||
self.url + "/members/" + member._identity
|
||||
)
|
||||
|
||||
def add_membership(self, member):
|
||||
def add_membership(self, member, role=github.GithubObject.NotSet):
|
||||
"""
|
||||
:calls: `PUT /teams/:id/memberships/:user <http://developer.github.com/v3/orgs/teams>`_
|
||||
:param member: :class:`github.Nameduser.NamedUser`
|
||||
:param role: string
|
||||
:rtype: None
|
||||
"""
|
||||
assert isinstance(member, github.NamedUser.NamedUser), member
|
||||
assert role is github.GithubObject.NotSet or isinstance(
|
||||
role, (str, unicode)), role
|
||||
if role is not github.GithubObject.NotSet:
|
||||
assert role in ['member', 'maintainer']
|
||||
put_parameters = {
|
||||
"role": role,
|
||||
}
|
||||
else:
|
||||
put_parameters = {
|
||||
"role": "member",
|
||||
}
|
||||
headers, data = self._requester.requestJsonAndCheck(
|
||||
"PUT",
|
||||
self.url + "/memberships/" + member._identity
|
||||
self.url + "/memberships/" + member._identity,
|
||||
input=put_parameters
|
||||
)
|
||||
|
||||
def add_to_repos(self, repo):
|
||||
|
||||
@@ -102,8 +102,8 @@ PUT
|
||||
api.github.com
|
||||
None
|
||||
/teams/189850/memberships/jacquev6
|
||||
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
|
||||
None
|
||||
{'Content-Type': 'application/json', 'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
|
||||
{"role": "maintainer"}
|
||||
200
|
||||
[('status', '200 No Content'), ('x-ratelimit-remaining', '4971'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 26 May 2012 21:09:55 GMT')]
|
||||
[('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')]
|
||||
[]
|
||||
|
||||
@@ -54,7 +54,8 @@ class Team(Framework.TestCase):
|
||||
self.team.remove_from_members(user)
|
||||
self.assertListKeyEqual(self.team.get_members(), None, [])
|
||||
self.assertFalse(self.team.has_in_members(user))
|
||||
self.team.add_membership(user)
|
||||
self.team.add_membership(user, "maintainer")
|
||||
self.assertRaises(AssertionError, self.team.add_membership, user, "admin")
|
||||
|
||||
def testRepoPermission(self):
|
||||
repo = self.org.get_repo("FatherBeaver")
|
||||
|
||||
Reference in New Issue
Block a user