diff --git a/test/Organization.py b/test/Organization.py index e244a0cc..0cd8c5d3 100644 --- a/test/Organization.py +++ b/test/Organization.py @@ -52,3 +52,23 @@ class Organization( Framework.TestCase ): def testCreateTeamWithAllArguments( self ): team = self.org.create_team( "Team also created by PyGithub", [ "BeaverSoftware/FatherBeaver" ], "push" ) self.assertEqual( team.id, 189852 ) + + def testPublicMembers( self ): + lyloa = self.g.get_user( "Lyloa" ) + self.assertFalse( self.org.has_in_public_members( lyloa ) ) + self.org.add_to_public_members( lyloa ) + self.assertTrue( self.org.has_in_public_members( lyloa ) ) + self.org.remove_from_public_members( lyloa ) + self.assertFalse( self.org.has_in_public_members( lyloa ) ) + + def testGetPublicMembers( self ): + self.assertListKeyEqual( self.org.get_public_members(), lambda u: u.login, [ "jacquev6" ] ) + + def testGetMembers( self ): + self.assertListKeyEqual( self.org.get_members(), lambda u: u.login, [ "cjuniet", "jacquev6", "Lyloa" ] ) + + def testMembers( self ): + lyloa = self.g.get_user( "Lyloa" ) + self.assertTrue( self.org.has_in_members( lyloa ) ) + self.org.remove_from_members( lyloa ) + self.assertFalse( self.org.has_in_members( lyloa ) ) diff --git a/test/ReplayData/Organization.testGetMembers.txt b/test/ReplayData/Organization.testGetMembers.txt new file mode 100644 index 00000000..1667d3e4 --- /dev/null +++ b/test/ReplayData/Organization.testGetMembers.txt @@ -0,0 +1,5 @@ +GET /orgs/BeaverSoftware/members {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '886'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f7f3d1eaa1c0d14d590b09dbb439db2e"'), ('date', 'Sun, 27 May 2012 05:08:20 GMT'), ('content-type', 'application/json; charset=utf-8')] +[{"url":"https://api.github.com/users/cjuniet","avatar_url":"https://secure.gravatar.com/avatar/197eed5292fd11c0277335c3524ccfd5?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"197eed5292fd11c0277335c3524ccfd5","login":"cjuniet","id":1233553},{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},{"url":"https://api.github.com/users/Lyloa","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","login":"Lyloa","id":1131432}] + diff --git a/test/ReplayData/Organization.testGetPublicMembers.txt b/test/ReplayData/Organization.testGetPublicMembers.txt new file mode 100644 index 00000000..ba2e2a37 --- /dev/null +++ b/test/ReplayData/Organization.testGetPublicMembers.txt @@ -0,0 +1,5 @@ +GET /orgs/BeaverSoftware/public_members {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"867ed1ef11213cc9045509b0fa544132"'), ('date', 'Sun, 27 May 2012 05:07:44 GMT'), ('content-type', 'application/json; charset=utf-8')] +[{"url":"https://api.github.com/users/jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}] + diff --git a/test/ReplayData/Organization.testMembers.txt b/test/ReplayData/Organization.testMembers.txt new file mode 100644 index 00000000..14747524 --- /dev/null +++ b/test/ReplayData/Organization.testMembers.txt @@ -0,0 +1,20 @@ +GET /users/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '554'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9fc4631ef7902f5de61ef421c7e4f9b7"'), ('date', 'Sun, 27 May 2012 05:09:23 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"type":"User","public_gists":0,"bio":null,"blog":null,"url":"https://api.github.com/users/Lyloa","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","company":null,"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","login":"Lyloa","email":"nyu@lyloa.net","followers":1,"name":"Lyloa","public_repos":0,"created_at":"2011-10-16T14:36:46Z","location":"Paris","id":1131432,"following":0,"html_url":"https://github.com/Lyloa","hireable":false} + +GET /orgs/BeaverSoftware/members/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +204 +[('status', '204 No Content'), ('x-ratelimit-remaining', '4982'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:09:23 GMT')] + + +DELETE /orgs/BeaverSoftware/members/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +204 +[('status', '204 No Content'), ('x-ratelimit-remaining', '4981'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:09:24 GMT')] + + +GET /orgs/BeaverSoftware/members/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +403 +[('status', '403 Forbidden'), ('x-ratelimit-remaining', '4980'), ('content-length', '37'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ab43ecb6e2f75e3940aa869edc5ed691"'), ('date', 'Sun, 27 May 2012 05:09:24 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"message":"You need to be a member"} + diff --git a/test/ReplayData/Organization.testPublicMembers.txt b/test/ReplayData/Organization.testPublicMembers.txt new file mode 100644 index 00000000..9ef115e0 --- /dev/null +++ b/test/ReplayData/Organization.testPublicMembers.txt @@ -0,0 +1,30 @@ +GET /users/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '554'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5d4e2c6e9715d64a46d9ebe6d7d460eb"'), ('date', 'Sun, 27 May 2012 05:06:42 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"type":"User","public_gists":0,"url":"https://api.github.com/users/Lyloa","avatar_url":"https://secure.gravatar.com/avatar/1517ed584458ccf83e03f5d77d9699d7?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_repos":0,"hireable":false,"bio":null,"company":null,"blog":null,"gravatar_id":"1517ed584458ccf83e03f5d77d9699d7","login":"Lyloa","email":"nyu@lyloa.net","followers":1,"name":"Lyloa","created_at":"2011-10-16T14:36:46Z","location":"Paris","id":1131432,"following":0,"html_url":"https://github.com/Lyloa"} + +GET /orgs/BeaverSoftware/public_members/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +404 +[('status', '404 Not Found'), ('x-ratelimit-remaining', '4995'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sun, 27 May 2012 05:06:43 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"message":"Not Found"} + +PUT /orgs/BeaverSoftware/public_members/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +204 +[('status', '204 No Content'), ('x-ratelimit-remaining', '4994'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:06:43 GMT')] + + +GET /orgs/BeaverSoftware/public_members/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +204 +[('status', '204 No Content'), ('x-ratelimit-remaining', '4993'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:06:44 GMT')] + + +DELETE /orgs/BeaverSoftware/public_members/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +204 +[('status', '204 No Content'), ('x-ratelimit-remaining', '4992'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 27 May 2012 05:06:44 GMT')] + + +GET /orgs/BeaverSoftware/public_members/Lyloa {'Authorization': 'Basic login_and_password_removed'} null +404 +[('status', '404 Not Found'), ('x-ratelimit-remaining', '4991'), ('content-length', '23'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e66a7a6c91e2c26803f3f49feb7a883f"'), ('date', 'Sun, 27 May 2012 05:06:45 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"message":"Not Found"} +