From 60fb7a8ef56f46d3fe9ce6d008e6b58238a71d29 Mon Sep 17 00:00:00 2001 From: Vincent Jacques Date: Sat, 26 May 2012 18:13:32 +0100 Subject: [PATCH] Heavy refactoring of integration tests --- test/AuthenticatedUser.py | 27 ++- test/Authorization.py | 59 +++--- test/Branch.py | 10 + test/Commit.py | 53 ++++++ test/CommitComment.py | 25 +++ test/Download.py | 75 +++----- test/Framework.py | 5 - test/Gist.py | 122 ++++-------- test/GistComment.py | 22 +++ test/GitBlob.py | 15 ++ test/GitCommit.py | 21 +++ test/GitObjects.py | 177 ------------------ test/GitRef.py | 22 +++ test/GitTag.py | 18 ++ test/GitTree.py | 23 +++ test/Github.py | 5 + test/Hook.py | 59 ++---- test/IntegrationTest.py | 17 +- test/Issue.py | 49 +++++ test/IssueComment.py | 22 +++ test/Label.py | 20 ++ test/Milestone.py | 36 ++++ test/MilestonesAndIssues.py | 152 --------------- ...stCreateAuthorizationWithAllArguments.txt} | 0 ...stCreateAuthorizationWithoutArguments.txt} | 0 ...t => AuthenticatedUser.testCreateGist.txt} | 0 ...User.testCreateGistWithoutDescription.txt} | 0 .../AuthenticatedUser.testWatching.txt | 5 + ...Attributes.txt => Authorization.setUp.txt} | 0 test/ReplayData/Authorization.testDelete.txt | 5 - test/ReplayData/Authorization.testEdit.txt | 5 - test/ReplayData/Branch.setUp.txt | 5 + test/ReplayData/Branch.testCommitComments.txt | 15 -- .../Branch.testCreateCommitComment.txt | 10 - ...anch.testCreateCommitCommentOnFileLine.txt | 10 - ....testCreateCommitCommentOnFilePosition.txt | 10 - .../Branch.testEditCommitComment.txt | 10 - ...ch.testAttributes.txt => Commit.setUp.txt} | 10 + test/ReplayData/Commit.testCreateComment.txt | 5 + .../Commit.testCreateCommentOnFileLine.txt | 5 + ...Commit.testCreateCommentOnFilePosition.txt | 5 + test/ReplayData/Commit.testGetComments.txt | 5 + test/ReplayData/CommitComment.setUp.txt | 15 ++ test/ReplayData/CommitComment.testDelete.txt | 5 + ...Comment.txt => CommitComment.testEdit.txt} | 9 +- test/ReplayData/Download.setUp.txt | 5 + test/ReplayData/Download.testAttributes.txt | 5 - test/ReplayData/Download.testDelete.txt | 7 +- ...Gist.testAttributes.txt => Gist.setUp.txt} | 4 +- .../ReplayData/Gist.testCommentAttributes.txt | 10 - test/ReplayData/Gist.testCreateComment.txt | 5 - test/ReplayData/Gist.testDelete.txt | 7 +- test/ReplayData/Gist.testDeleteComment.txt | 15 -- test/ReplayData/Gist.testEditComment.txt | 15 -- .../Gist.testEditWithAllParameters.txt | 5 - .../Gist.testEditWithoutParameters.txt | 5 - test/ReplayData/Gist.testGetComments.txt | 5 - test/ReplayData/Gist.testStarring.txt | 5 - test/ReplayData/GistComment.setUp.txt | 10 + test/ReplayData/GistComment.testDelete.txt | 5 + test/ReplayData/GistComment.testEdit.txt | 5 + test/ReplayData/GitBlob.setUp.txt | 5 + test/ReplayData/GitBlob.testAttributes.txt | 5 - test/ReplayData/GitCommit.setUp.txt | 5 + test/ReplayData/GitCommit.testAttributes.txt | 5 - test/ReplayData/GitRef.setUp.txt | 5 + test/ReplayData/GitRef.testAttributes.txt | 5 - .../GitRef.testCreateEditDelete.txt | 20 -- test/ReplayData/GitRef.testDelete.txt | 5 + test/ReplayData/GitRef.testEdit.txt | 5 + test/ReplayData/GitRef.testEditWithForce.txt | 5 + test/ReplayData/GitTag.setUp.txt | 5 + test/ReplayData/GitTag.testAttributes.txt | 5 - test/ReplayData/GitTree.setUp.txt | 5 + test/ReplayData/GitTree.testAttributes.txt | 5 - ...testGetAll.txt => Github.testGetGists.txt} | 0 test/ReplayData/Hook.setUp.txt | 5 + test/ReplayData/Hook.testDelete.txt | 7 +- .../Hook.testEditWithAllParameters.txt | 5 - .../Hook.testEditWithMinimalParameters.txt | 9 +- test/ReplayData/Hook.testTest.txt | 5 - test/ReplayData/Issue.setUp.txt | 13 +- test/ReplayData/Issue.testAttributes.txt | 5 - .../Issue.testCommentAttributes.txt | 10 - test/ReplayData/Issue.testComments.txt | 10 - test/ReplayData/Issue.testCreateComment.txt | 5 - test/ReplayData/Issue.testDeleteComment.txt | 15 -- test/ReplayData/Issue.testEditComment.txt | 15 -- .../Issue.testEditWithAllParameters.txt | 5 - .../Issue.testEditWithoutParameters.txt | 5 - test/ReplayData/Issue.testEvents.txt | 15 -- test/ReplayData/Issue.testGetComments.txt | 5 + test/ReplayData/Issue.testGetEvents.txt | 5 + test/ReplayData/IssueComment.setUp.txt | 20 ++ test/ReplayData/IssueComment.testDelete.txt | 4 + test/ReplayData/IssueComment.testEdit.txt | 5 + test/ReplayData/Label.setUp.txt | 5 + test/ReplayData/Label.testAttributes.txt | 5 - test/ReplayData/Label.testDelete.txt | 7 +- test/ReplayData/Label.testEdit.txt | 7 +- test/ReplayData/Milestone.setUp.txt | 5 + test/ReplayData/Milestone.testAttributes.txt | 5 - test/ReplayData/Milestone.testDelete.txt | 7 +- .../Milestone.testEditWithAllParameters.txt | 7 +- ...ilestone.testEditWithMinimalParameters.txt | 7 +- test/ReplayData/Milestone.testGetLabels.txt | 7 +- .../NamedUser.testAttributesOfSelf.txt | 0 test/ReplayData/Repository.testAttributes.txt | 0 ...ry.testCreateDownloadWithAllArguments.txt} | 0 ...estCreateDownloadWithMinimalArguments.txt} | 0 ...e.txt => Repository.testCreateGitBlob.txt} | 0 .../Repository.testCreateGitRef.txt | 5 + ...itory.testCreateHookWithAllParameters.txt} | 0 ...y.testCreateHookWithMinimalParameters.txt} | 0 ...ate.txt => Repository.testCreateIssue.txt} | 0 ...ate.txt => Repository.testCreateLabel.txt} | 0 ...txt => Repository.testCreateMilestone.txt} | 0 ...lyName.txt => Repository.testGetLabel.txt} | 0 test/ReplayData/Tag.setUp.txt | 5 + test/ReplayData/Tag.testAttributes.txt | 5 - test/Repository.py | 80 ++++++++ test/Tag.py | 12 ++ 122 files changed, 791 insertions(+), 912 deletions(-) create mode 100644 test/Branch.py create mode 100644 test/Commit.py create mode 100644 test/CommitComment.py create mode 100644 test/GistComment.py create mode 100644 test/GitBlob.py create mode 100644 test/GitCommit.py delete mode 100644 test/GitObjects.py create mode 100644 test/GitRef.py create mode 100644 test/GitTag.py create mode 100644 test/GitTree.py create mode 100644 test/Github.py create mode 100644 test/Issue.py create mode 100644 test/IssueComment.py create mode 100644 test/Label.py create mode 100644 test/Milestone.py delete mode 100644 test/MilestonesAndIssues.py rename test/ReplayData/{Authorization.testCreateWithAllArguments.txt => AuthenticatedUser.testCreateAuthorizationWithAllArguments.txt} (100%) rename test/ReplayData/{Authorization.testCreateWithoutArguments.txt => AuthenticatedUser.testCreateAuthorizationWithoutArguments.txt} (100%) rename test/ReplayData/{Gist.testCreate.txt => AuthenticatedUser.testCreateGist.txt} (100%) rename test/ReplayData/{Gist.testCreateWithoutDescription.txt => AuthenticatedUser.testCreateGistWithoutDescription.txt} (100%) rename test/ReplayData/{Authorization.testAttributes.txt => Authorization.setUp.txt} (100%) delete mode 100644 test/ReplayData/Branch.testCommitComments.txt delete mode 100644 test/ReplayData/Branch.testCreateCommitComment.txt delete mode 100644 test/ReplayData/Branch.testCreateCommitCommentOnFileLine.txt delete mode 100644 test/ReplayData/Branch.testCreateCommitCommentOnFilePosition.txt delete mode 100644 test/ReplayData/Branch.testEditCommitComment.txt rename test/ReplayData/{Branch.testAttributes.txt => Commit.setUp.txt} (65%) create mode 100644 test/ReplayData/Commit.testCreateComment.txt create mode 100644 test/ReplayData/Commit.testCreateCommentOnFileLine.txt create mode 100644 test/ReplayData/Commit.testCreateCommentOnFilePosition.txt create mode 100644 test/ReplayData/Commit.testGetComments.txt create mode 100644 test/ReplayData/CommitComment.setUp.txt create mode 100644 test/ReplayData/CommitComment.testDelete.txt rename test/ReplayData/{Branch.testDeleteCommitComment.txt => CommitComment.testEdit.txt} (56%) delete mode 100644 test/ReplayData/Download.testAttributes.txt rename test/ReplayData/{Gist.testAttributes.txt => Gist.setUp.txt} (86%) delete mode 100644 test/ReplayData/Gist.testCommentAttributes.txt delete mode 100644 test/ReplayData/Gist.testDeleteComment.txt delete mode 100644 test/ReplayData/Gist.testEditComment.txt create mode 100644 test/ReplayData/GistComment.setUp.txt create mode 100644 test/ReplayData/GistComment.testDelete.txt create mode 100644 test/ReplayData/GistComment.testEdit.txt delete mode 100644 test/ReplayData/GitBlob.testAttributes.txt delete mode 100644 test/ReplayData/GitCommit.testAttributes.txt delete mode 100644 test/ReplayData/GitRef.testAttributes.txt delete mode 100644 test/ReplayData/GitRef.testCreateEditDelete.txt create mode 100644 test/ReplayData/GitRef.testDelete.txt create mode 100644 test/ReplayData/GitRef.testEdit.txt create mode 100644 test/ReplayData/GitRef.testEditWithForce.txt delete mode 100644 test/ReplayData/GitTag.testAttributes.txt delete mode 100644 test/ReplayData/GitTree.testAttributes.txt rename test/ReplayData/{Gist.testGetAll.txt => Github.testGetGists.txt} (100%) delete mode 100644 test/ReplayData/Issue.testAttributes.txt delete mode 100644 test/ReplayData/Issue.testCommentAttributes.txt delete mode 100644 test/ReplayData/Issue.testComments.txt delete mode 100644 test/ReplayData/Issue.testDeleteComment.txt delete mode 100644 test/ReplayData/Issue.testEditComment.txt delete mode 100644 test/ReplayData/Issue.testEvents.txt create mode 100644 test/ReplayData/Issue.testGetComments.txt create mode 100644 test/ReplayData/Issue.testGetEvents.txt create mode 100644 test/ReplayData/IssueComment.setUp.txt create mode 100644 test/ReplayData/IssueComment.testDelete.txt create mode 100644 test/ReplayData/IssueComment.testEdit.txt delete mode 100644 test/ReplayData/Label.testAttributes.txt delete mode 100644 test/ReplayData/Milestone.testAttributes.txt delete mode 100644 test/ReplayData/NamedUser.testAttributesOfSelf.txt delete mode 100644 test/ReplayData/Repository.testAttributes.txt rename test/ReplayData/{Download.testCreateWithAllArguments.txt => Repository.testCreateDownloadWithAllArguments.txt} (100%) rename test/ReplayData/{Download.testCreateWithMinimalArguments.txt => Repository.testCreateDownloadWithMinimalArguments.txt} (100%) rename test/ReplayData/{GitBlob.testCreate.txt => Repository.testCreateGitBlob.txt} (100%) create mode 100644 test/ReplayData/Repository.testCreateGitRef.txt rename test/ReplayData/{Hook.testCreateWithAllParameters.txt => Repository.testCreateHookWithAllParameters.txt} (100%) rename test/ReplayData/{Hook.testCreateWithMinimalParameters.txt => Repository.testCreateHookWithMinimalParameters.txt} (100%) rename test/ReplayData/{Issue.testCreate.txt => Repository.testCreateIssue.txt} (100%) rename test/ReplayData/{Label.testCreate.txt => Repository.testCreateLabel.txt} (100%) rename test/ReplayData/{Milestone.testCreate.txt => Repository.testCreateMilestone.txt} (100%) rename test/ReplayData/{Label.testGetLabelWithSillyName.txt => Repository.testGetLabel.txt} (100%) delete mode 100644 test/ReplayData/Tag.testAttributes.txt create mode 100644 test/Tag.py diff --git a/test/AuthenticatedUser.py b/test/AuthenticatedUser.py index 4518e57e..0a0ddafd 100644 --- a/test/AuthenticatedUser.py +++ b/test/AuthenticatedUser.py @@ -87,17 +87,17 @@ class AuthenticatedUser( Framework.TestCase ): def testFollowing( self ): nvie = self.g.get_user( "nvie" ) - self.assertEqual( self.user.get_following()[ 0 ].login, "schacon" ) + self.assertListKeyEqual( self.user.get_following(), lambda u: u.login, [ "schacon", "jamis", "chad", "unclebob", "dabrahams", "jnorthrup", "brugidou", "regisb", "walidk", "tanzilli", "fjardon", "r3c", "sdanzan", "vineus", "cjuniet", "gturri", "ant9000", "asquini", "claudyus", "jardon-u", "s-bernard", "kamaradclimber", "Lyloa", "nvie" ] ) self.assertEqual( self.user.has_in_following( nvie ), True ) self.user.remove_from_following( nvie ) self.assertEqual( self.user.has_in_following( nvie ), False ) self.user.add_to_following( nvie ) self.assertEqual( self.user.has_in_following( nvie ), True ) - self.assertEqual( self.user.get_followers()[ 0 ].login, "jnorthrup" ) + self.assertListKeyEqual( self.user.get_followers(), lambda u: u.login, [ "jnorthrup", "brugidou", "regisb", "walidk", "afzalkhan", "sdanzan", "vineus", "gturri", "fjardon", "cjuniet", "jardon-u", "kamaradclimber", "L42y" ] ) def testWatching( self ): gitflow = self.g.get_user( "nvie" ).get_repo( "gitflow" ) - self.assertEqual( self.user.get_watched()[ 0 ].name, "git" ) + self.assertListKeyEqual( self.user.get_watched(), lambda r: r.name, [ "git", "boost.php", "capistrano", "boost.perl", "git-subtree", "git-hg", "homebrew", "celtic_knot", "twisted-intro", "markup", "hub", "gitflow", "murder", "boto", "agit", "d3", "pygit2", "git-pulls", "django_mathlatex", "scrumblr", "developer.github.com", "python-github3", "PlantUML", "bootstrap", "drawnby", "django-socketio", "django-realtime", "playground", "BozoCrack", "FatherBeaver", "PyGithub", "django", "django", "TestPyGithub" ] ) self.assertEqual( self.user.has_in_watched( gitflow ), True ) self.user.remove_from_watched( gitflow ) self.assertEqual( self.user.has_in_watched( gitflow ), False ) @@ -105,8 +105,7 @@ class AuthenticatedUser( Framework.TestCase ): self.assertEqual( self.user.has_in_watched( gitflow ), True ) def testGetAuthorizations( self ): - authorization = self.user.get_authorizations()[ 0 ] - self.assertEqual( authorization.id, 372294 ) + self.assertListKeyEqual( self.user.get_authorizations(), lambda a: a.id, [ 372294 ] ) def testCreateRepository( self ): repo = self.user.create_repo( "TestPyGithub" ) @@ -115,3 +114,21 @@ class AuthenticatedUser( Framework.TestCase ): def testCreateRepositoryWithAllArguments( self ): repo = self.user.create_repo( "TestPyGithub", "Repo created by PyGithub", "http://foobar.com", private = False, has_issues = False, has_wiki = False, has_downloads = False ) self.assertEqual( repo.url, "https://api.github.com/repos/jacquev6/TestPyGithub" ) + + def testCreateAuthorizationWithoutArguments( self ): + authorization = self.user.create_authorization() + self.assertEqual( authorization.id, 372259 ) + + def testCreateAuthorizationWithAllArguments( self ): + authorization = self.user.create_authorization( [ "repo" ], "Note created by PyGithub", "http://vincent-jacques.net/PyGithub" ) + self.assertEqual( authorization.id, 372294 ) + + def testCreateGist( self ): + gist = self.user.create_gist( True, { "foobar.txt": { "content": "File created by PyGithub" } }, "Gist created by PyGithub" ) + self.assertEquals( gist.description, "Gist created by PyGithub" ) + self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}} ) ### @todo + + def testCreateGistWithoutDescription( self ): + gist = self.user.create_gist( True, { "foobar.txt": { "content": "File created by PyGithub" } } ) + self.assertEquals( gist.description, None ) + self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2793179/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}} ) ### @todo diff --git a/test/Authorization.py b/test/Authorization.py index a4ba89be..8612b955 100644 --- a/test/Authorization.py +++ b/test/Authorization.py @@ -1,42 +1,35 @@ import Framework class Authorization( Framework.TestCase ): - def testCreateWithoutArguments( self ): - authorization = self.g.get_user().create_authorization() - self.assertEqual( authorization.id, 372259 ) - - def testCreateWithAllArguments( self ): - authorization = self.g.get_user().create_authorization( [ "repo" ], "Note created by PyGithub", "http://vincent-jacques.net/PyGithub" ) - self.assertEqual( authorization.id, 372294 ) + def setUp( self ): + Framework.TestCase.setUp( self ) + self.authorization = self.g.get_user().get_authorization( 372259 ) def testAttributes( self ): - authorization = self.g.get_user().get_authorization( 372259 ) - self.assertEqual( authorization.app, {u'url': u'http://developer.github.com/v3/oauth/#oauth-authorizations-api', u'name': u'GitHub API'} ) ### @todo - self.assertEqual( authorization.created_at, "2012-05-22T18:03:17Z" ) - self.assertEqual( authorization.id, 372259 ) - self.assertEqual( authorization.note, None ) - self.assertEqual( authorization.note_url, None ) - self.assertEqual( authorization.scopes, [] ) - self.assertEqual( authorization.token, "82459c4500086f8f0cc67d2936c17d1e27ad1c33" ) - self.assertEqual( authorization.updated_at, "2012-05-22T18:03:17Z" ) - self.assertEqual( authorization.url, "https://api.github.com/authorizations/372259" ) + self.assertEqual( self.authorization.app, {u'url': u'http://developer.github.com/v3/oauth/#oauth-authorizations-api', u'name': u'GitHub API'} ) ### @todo + self.assertEqual( self.authorization.created_at, "2012-05-22T18:03:17Z" ) + self.assertEqual( self.authorization.id, 372259 ) + self.assertEqual( self.authorization.note, None ) + self.assertEqual( self.authorization.note_url, None ) + self.assertEqual( self.authorization.scopes, [] ) + self.assertEqual( self.authorization.token, "82459c4500086f8f0cc67d2936c17d1e27ad1c33" ) + self.assertEqual( self.authorization.updated_at, "2012-05-22T18:03:17Z" ) + self.assertEqual( self.authorization.url, "https://api.github.com/authorizations/372259" ) def testEdit( self ): - authorization = self.g.get_user().get_authorization( 372259 ) - authorization.edit() - self.assertEqual( authorization.scopes, [] ) - authorization.edit( scopes = [ "user" ] ) - self.assertEqual( authorization.scopes, [ "user" ] ) - authorization.edit( add_scopes = [ "repo" ] ) - self.assertEqual( authorization.scopes, [ "user", "repo" ] ) - authorization.edit( remove_scopes = [ "repo" ] ) - self.assertEqual( authorization.scopes, [ "user" ] ) - self.assertEqual( authorization.note, None ) - self.assertEqual( authorization.note_url, None ) - authorization.edit( note = "Note created by PyGithub", note_url = "http://vincent-jacques.net/PyGithub" ) - self.assertEqual( authorization.note, "Note created by PyGithub" ) - self.assertEqual( authorization.note_url, "http://vincent-jacques.net/PyGithub" ) + self.authorization.edit() + self.assertEqual( self.authorization.scopes, [] ) + self.authorization.edit( scopes = [ "user" ] ) + self.assertEqual( self.authorization.scopes, [ "user" ] ) + self.authorization.edit( add_scopes = [ "repo" ] ) + self.assertEqual( self.authorization.scopes, [ "user", "repo" ] ) + self.authorization.edit( remove_scopes = [ "repo" ] ) + self.assertEqual( self.authorization.scopes, [ "user" ] ) + self.assertEqual( self.authorization.note, None ) + self.assertEqual( self.authorization.note_url, None ) + self.authorization.edit( note = "Note created by PyGithub", note_url = "http://vincent-jacques.net/PyGithub" ) + self.assertEqual( self.authorization.note, "Note created by PyGithub" ) + self.assertEqual( self.authorization.note_url, "http://vincent-jacques.net/PyGithub" ) def testDelete( self ): - authorization = self.g.get_user().get_authorization( 372259 ) - authorization.delete() + self.authorization.delete() diff --git a/test/Branch.py b/test/Branch.py new file mode 100644 index 00000000..614346da --- /dev/null +++ b/test/Branch.py @@ -0,0 +1,10 @@ +import Framework + +class Branch( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.branch = self.g.get_user().get_repo( "PyGithub" ).get_branches()[ 0 ] + + def testAttributes( self ): + self.assertEqual( self.branch.name, "topic/RewriteWithGeneratedCode" ) + self.assertEqual( self.branch.commit.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) diff --git a/test/Commit.py b/test/Commit.py new file mode 100644 index 00000000..811655b5 --- /dev/null +++ b/test/Commit.py @@ -0,0 +1,53 @@ +import Framework + +class Commit( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.commit = self.g.get_user().get_repo( "PyGithub" ).get_branches()[ 0 ].commit + self.commit.author.login # to force lazy completion + + def testAttributes( self ): + self.assertEqual( self.commit.author.login, "jacquev6" ) + self.assertEqual( self.commit.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) + self.assertEqual( self.commit.committer.login, "jacquev6" ) + self.assertEqual( len( self.commit.files ), 1 ) + self.assertEqual( self.commit.files[ 0 ].additions, 0 ) + self.assertEqual( self.commit.files[ 0 ].blob_url, "https://github.com/jacquev6/PyGithub/blob/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py" ) + self.assertEqual( self.commit.files[ 0 ].changes, 20 ) + self.assertEqual( self.commit.files[ 0 ].deletions, 20 ) + self.assertEqual( self.commit.files[ 0 ].filename, "github/GithubObjects/GitAuthor.py" ) + self.assertTrue( isinstance( self.commit.files[ 0 ].patch, ( str, unicode ) ) ) + self.assertEqual( self.commit.files[ 0 ].raw_url, "https://github.com/jacquev6/PyGithub/raw/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py" ) + self.assertEqual( self.commit.files[ 0 ].sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) + self.assertEqual( self.commit.files[ 0 ].status, "modified" ) + self.assertEqual( len( self.commit.parents ), 1 ) + self.assertEqual( self.commit.parents[ 0 ].sha, "b46ed0dfde5ad02d3b91eb54a41c5ed960710eae" ) + self.assertEqual( self.commit.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) + self.assertEqual( self.commit.stats.deletions, 20 ) + self.assertEqual( self.commit.stats.additions, 0 ) + self.assertEqual( self.commit.stats.total, 20 ) + self.assertEqual( self.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) + + def testGetComments( self ): + self.assertListKeyEqual( self.commit.get_comments(), lambda c: c.id, [ 1347033, 1347083, 1347397, 1349654 ] ) + + def testCreateComment( self ): + comment = self.commit.create_comment( "Comment created by PyGithub" ) + self.assertEqual( comment.id, 1361949 ) + self.assertEqual( comment.line, None ) + self.assertEqual( comment.path, None ) + self.assertEqual( comment.position, None ) + + def testCreateCommentOnFileLine( self ): + comment = self.commit.create_comment( "Comment created by PyGithub", path = "codegen/templates/GithubObject.MethodBody.UseResult.py", line = 26 ) + self.assertEqual( comment.id, 1362000 ) + self.assertEqual( comment.line, 26 ) + self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" ) + self.assertEqual( comment.position, None ) + + def testCreateCommentOnFilePosition( self ): + comment = self.commit.create_comment( "Comment also created by PyGithub", path = "codegen/templates/GithubObject.MethodBody.UseResult.py", position = 3 ) + self.assertEqual( comment.id, 1362001 ) + self.assertEqual( comment.line, None ) + self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" ) + self.assertEqual( comment.position, 3 ) diff --git a/test/CommitComment.py b/test/CommitComment.py new file mode 100644 index 00000000..3b669b45 --- /dev/null +++ b/test/CommitComment.py @@ -0,0 +1,25 @@ +import Framework + +class CommitComment( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.comment = self.g.get_user().get_repo( "PyGithub" ).get_comment( 1361949 ) + + def testAttributes( self ): + self.assertEqual( self.comment.body, "Comment created by PyGithub" ) + self.assertEqual( self.comment.commit_id, "6945921c529be14c3a8f566dd1e483674516d46d" ) + self.assertEqual( self.comment.created_at, "2012-05-22T18:40:18Z" ) + self.assertEqual( self.comment.html_url, "https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949" ) + self.assertEqual( self.comment.id, 1361949 ) + self.assertEqual( self.comment.line, None ) + self.assertEqual( self.comment.path, None ) + self.assertEqual( self.comment.position, None ) + self.assertEqual( self.comment.updated_at, "2012-05-22T18:40:18Z" ) + self.assertEqual( self.comment.url, "https://api.github.com/repos/jacquev6/PyGithub/comments/1361949" ) + self.assertEqual( self.comment.user.login, "jacquev6" ) + + def testEdit( self ): + self.comment.edit( "Comment edited by PyGithub" ) + + def testDelete( self ): + self.comment.delete() diff --git a/test/Download.py b/test/Download.py index 0a1943de..971e345f 100644 --- a/test/Download.py +++ b/test/Download.py @@ -1,56 +1,31 @@ import Framework -class Download( Framework.TestCaseWithRepo ): - def testCreateWithMinimalArguments( self ): - download = self.repo.create_download( "Foobar.txt", 1024 ) - self.assertEqual( download.id, 242562 ) - - def testCreateWithAllArguments( self ): - download = self.repo.create_download( "Foobar.txt", 1024, "Download created by PyGithub", "text/richtext" ) - self.assertEqual( download.accesskeyid, "1DWESVTPGHQVTX38V182" ) - self.assertEqual( download.acl, "public-read" ) - self.assertEqual( download.bucket, "github" ) - self.assertEqual( download.content_type, "text/richtext" ) - self.assertEqual( download.created_at, "2012-05-22T19:11:49Z" ) - self.assertEqual( download.description, "Download created by PyGithub" ) - self.assertEqual( download.download_count, 0 ) - self.assertEqual( download.expirationdate, "2112-05-22T19:11:49.000Z" ) - self.assertEqual( download.html_url, "https://github.com/downloads/jacquev6/PyGithub/Foobar.txt" ) - self.assertEqual( download.id, 242556 ) - self.assertEqual( download.mime_type, "text/richtext" ) - self.assertEqual( download.name, "Foobar.txt" ) - self.assertEqual( download.path, "downloads/jacquev6/PyGithub/Foobar.txt" ) - self.assertEqual( download.policy, "ewogICAgJ2V4cGlyYXRpb24nOiAnMjExMi0wNS0yMlQxOToxMTo0OS4wMDBaJywKICAgICdjb25kaXRpb25zJzogWwogICAgICAgIHsnYnVja2V0JzogJ2dpdGh1Yid9LAogICAgICAgIHsna2V5JzogJ2Rvd25sb2Fkcy9qYWNxdWV2Ni9QeUdpdGh1Yi9Gb29iYXIudHh0J30sCiAgICAgICAgeydhY2wnOiAncHVibGljLXJlYWQnfSwKICAgICAgICB7J3N1Y2Nlc3NfYWN0aW9uX3N0YXR1cyc6ICcyMDEnfSwKICAgICAgICBbJ3N0YXJ0cy13aXRoJywgJyRGaWxlbmFtZScsICcnXSwKICAgICAgICBbJ3N0YXJ0cy13aXRoJywgJyRDb250ZW50LVR5cGUnLCAnJ10KICAgIF0KfQ==" ) - self.assertEqual( download.prefix, "downloads/jacquev6/PyGithub" ) - self.assertEqual( download.redirect, False ) - self.assertEqual( download.s3_url, "https://github.s3.amazonaws.com/" ) - self.assertEqual( download.signature, "8FCU/4rgT3ohXfE9N6HO7JgbuK4=" ) - self.assertEqual( download.size, 1024 ) - self.assertEqual( download.url, "https://api.github.com/repos/jacquev6/PyGithub/downloads/242556" ) +class Download( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.download = self.g.get_user().get_repo( "PyGithub" ).get_download( 242550 ) def testAttributes( self ): - download = self.repo.get_download( 242550 ) - self.assertEqual( download.accesskeyid, None ) - self.assertEqual( download.acl, None ) - self.assertEqual( download.bucket, None ) - self.assertEqual( download.content_type, "text/plain" ) - self.assertEqual( download.created_at, "2012-05-22T18:58:32Z" ) - self.assertEqual( download.description, None ) - self.assertEqual( download.download_count, 0 ) - self.assertEqual( download.expirationdate, None ) - self.assertEqual( download.html_url, "https://github.com/downloads/jacquev6/PyGithub/Foobar.txt" ) - self.assertEqual( download.id, 242550 ) - self.assertEqual( download.mime_type, None ) - self.assertEqual( download.name, "Foobar.txt" ) - self.assertEqual( download.path, None ) - self.assertEqual( download.policy, None ) - self.assertEqual( download.prefix, None ) - self.assertEqual( download.redirect, None ) - self.assertEqual( download.s3_url, None ) - self.assertEqual( download.signature, None ) - self.assertEqual( download.size, 1024 ) - self.assertEqual( download.url, "https://api.github.com/repos/jacquev6/PyGithub/downloads/242550" ) + self.assertEqual( self.download.accesskeyid, None ) + self.assertEqual( self.download.acl, None ) + self.assertEqual( self.download.bucket, None ) + self.assertEqual( self.download.content_type, "text/plain" ) + self.assertEqual( self.download.created_at, "2012-05-22T18:58:32Z" ) + self.assertEqual( self.download.description, None ) + self.assertEqual( self.download.download_count, 0 ) + self.assertEqual( self.download.expirationdate, None ) + self.assertEqual( self.download.html_url, "https://github.com/downloads/jacquev6/PyGithub/Foobar.txt" ) + self.assertEqual( self.download.id, 242550 ) + self.assertEqual( self.download.mime_type, None ) + self.assertEqual( self.download.name, "Foobar.txt" ) + self.assertEqual( self.download.path, None ) + self.assertEqual( self.download.policy, None ) + self.assertEqual( self.download.prefix, None ) + self.assertEqual( self.download.redirect, None ) + self.assertEqual( self.download.s3_url, None ) + self.assertEqual( self.download.signature, None ) + self.assertEqual( self.download.size, 1024 ) + self.assertEqual( self.download.url, "https://api.github.com/repos/jacquev6/PyGithub/downloads/242550" ) def testDelete( self ): - download = self.repo.get_download( 242562 ) - download.delete() + self.download.delete() diff --git a/test/Framework.py b/test/Framework.py index aa27e00d..4f0308aa 100644 --- a/test/Framework.py +++ b/test/Framework.py @@ -132,11 +132,6 @@ class TestCase( BasicTestCase ): BasicTestCase.setUp( self ) self.g = github.Github( self.login, self.password ) -class TestCaseWithRepo( TestCase ): - def setUp( self ): - TestCase.setUp( self ) - self.repo = self.g.get_user().get_repo( "PyGithub" ) - def main(): if "--record" in sys.argv: BasicTestCase.recordMode = True diff --git a/test/Gist.py b/test/Gist.py index d7ab4877..946d3e85 100644 --- a/test/Gist.py +++ b/test/Gist.py @@ -1,99 +1,58 @@ import Framework class Gist( Framework.TestCase ): - def testGetAll( self ): - ids = [ "2729695", "2729656", "2729597", "2729584", "2729569", "2729554", "2729543", "2729537", "2729536", "2729533", "2729525", "2729522", "2729519", "2729515", "2729506", "2729487", "2729484", "2729482", "2729441", "2729432", "2729420", "2729398", "2729372", "2729371", "2729351", "2729346", "2729316", "2729304", "2729296", "2729276", "2729272", "2729265", "2729195", "2729160", "2729143", "2729127", "2729119", "2729113", "2729103", "2729069", "2729059", "2729051", "2729029", "2729027", "2729026", "2729022", "2729002", "2728985", "2728979", "2728964", "2728937", "2728933", "2728884", "2728869", "2728866", "2728855", "2728854", "2728853", "2728846", "2728825", "2728814", "2728813", "2728812", "2728805", "2728802", "2728800", "2728798", "2728797", "2728796", "2728793", "2728758", "2728754", "2728751", "2728748", "2728721", "2728716", "2728715", "2728705", "2728701", "2728699", "2728697", "2728688", "2728683", "2728677", "2728649", "2728640", "2728625", "2728620", "2728615", "2728614", "2728565", "2728564", "2728554", "2728523", "2728519", "2728511", "2728497", "2728496", "2728495", "2728487" ] - gists = self.g.get_gists() - i = 0 - for gist in gists: - self.assertEquals( gist.id, ids[ i ] ) - i += 1 - if i == 100: - break + def setUp( self ): + Framework.TestCase.setUp( self ) + self.gist = self.g.get_gist( "2729810" ) def testAttributes( self ): - gist = self.g.get_gist( "1942384" ) - self.assertEquals( gist.comments, 0 ) - self.assertEquals( gist.created_at, "2012-02-29T16:47:12Z" ) - self.assertEquals( gist.description, "How to error 500 Github API v3, as requested by Rick (GitHub Staff)" ) - self.assertEquals( gist.files, {u'fail_github.py': {u'raw_url': u'https://gist.github.com/raw/1942384/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py', u'language': u'Python', u'filename': u'fail_github.py', u'content': u'import httplib\nimport base64\nimport json\n\nlogin = ""\npassword = ""\norgName = ""\nrepoName = "FailGithubApi"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( "api.github.com", strict = True )\n cnx.request( verb, url, input, { "Authorization" : "Basic " + base64.b64encode( login + ":" + password ).replace( \'\\n\', \'\' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, "=>", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( "POST", "/user/repos", { "name": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n "POST", "/repos/%s/%s/git/blobs" % ( login, repoName ),\n { "content": "Content of the blob", "encoding": "latin1" }\n)\nt = doRequest(\n "POST", "/repos/%s/%s/git/trees" % ( login, repoName ),\n { "tree" : [ { "path": "foo.bar", "type": "blob", "mode": "100644", "sha": b["sha"] } ] }\n)\nc = doRequest(\n "POST", "/repos/%s/%s/git/commits" % ( login, repoName ),\n { "parents": [], "message": "Message of the commit", "tree": t["sha"] }\n)\ndoRequest(\n "POST", "/repos/%s/%s/git/refs" % ( login, repoName ),\n { "ref": "refs/heads/master", "sha": c["sha"] }\n)\n\n# Fork the repo\ndoRequest( "POST", "/repos/%s/%s/forks?org=%s" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n "POST", "/repos/%s/%s/git/blobs" % ( orgName, repoName ),\n { "content": "Content of the new blob", "encoding": "latin1" }\n)\n', u'type': u'application/python', u'size': 1636}} ) ### @todo - self.assertEquals( gist.forks, [] ) - self.assertEquals( gist.git_pull_url, "git://gist.github.com/1942384.git" ) - self.assertEquals( gist.git_push_url, "git@gist.github.com:1942384.git" ) - self.assertEquals( len( gist.history ), 1 ) - self.assertEquals( gist.history[ 0 ].change_status.additions, 52 ) - self.assertEquals( gist.history[ 0 ].change_status.deletions, 0 ) - self.assertEquals( gist.history[ 0 ].change_status.total, 52 ) - self.assertEquals( gist.history[ 0 ].committed_at, "2012-02-29T16:47:12Z" ) - self.assertEquals( gist.history[ 0 ].url, "https://api.github.com/gists/1942384/a40de483e42ba33bda308371c0ef8383db73be9e" ) - self.assertEquals( gist.history[ 0 ].user.login, "jacquev6" ) - self.assertEquals( gist.history[ 0 ].version, "a40de483e42ba33bda308371c0ef8383db73be9e" ) - self.assertEquals( gist.html_url, "https://gist.github.com/1942384" ) - self.assertEquals( gist.id, "1942384" ) - self.assertEquals( gist.public, True ) - self.assertEquals( gist.updated_at, "2012-02-29T16:47:12Z" ) - self.assertEquals( gist.url, "https://api.github.com/gists/1942384" ) - self.assertEquals( gist.user.login, "jacquev6" ) - - def testCreate( self ): - gist = self.g.get_user().create_gist( True, { "foobar.txt": { "content": "File created by PyGithub" } }, "Gist created by PyGithub" ) - self.assertEquals( gist.description, "Gist created by PyGithub" ) - self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}} ) ### @todo - - def testCreateWithoutDescription( self ): - gist = self.g.get_user().create_gist( True, { "foobar.txt": { "content": "File created by PyGithub" } } ) - self.assertEquals( gist.description, None ) - self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2793179/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}} ) ### @todo + self.assertEquals( self.gist.comments, 0 ) + self.assertEquals( self.gist.created_at, "2012-02-29T16:47:12Z" ) + self.assertEquals( self.gist.description, "How to error 500 Github API v3, as requested by Rick (GitHub Staff)" ) + self.assertEquals( self.gist.files, {u'fail_github.py': {u'raw_url': u'https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py', u'language': u'Python', u'filename': u'fail_github.py', u'content': u'import httplib\nimport base64\nimport json\n\nlogin = ""\npassword = ""\norgName = ""\nrepoName = "FailGithubApi"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( "api.github.com", strict = True )\n cnx.request( verb, url, input, { "Authorization" : "Basic " + base64.b64encode( login + ":" + password ).replace( \'\\n\', \'\' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, "=>", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( "POST", "/user/repos", { "name": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n "POST", "/repos/%s/%s/git/blobs" % ( login, repoName ),\n { "content": "Content of the blob", "encoding": "latin1" }\n)\nt = doRequest(\n "POST", "/repos/%s/%s/git/trees" % ( login, repoName ),\n { "tree" : [ { "path": "foo.bar", "type": "blob", "mode": "100644", "sha": b["sha"] } ] }\n)\nc = doRequest(\n "POST", "/repos/%s/%s/git/commits" % ( login, repoName ),\n { "parents": [], "message": "Message of the commit", "tree": t["sha"] }\n)\ndoRequest(\n "POST", "/repos/%s/%s/git/refs" % ( login, repoName ),\n { "ref": "refs/heads/master", "sha": c["sha"] }\n)\n\n# Fork the repo\ndoRequest( "POST", "/repos/%s/%s/forks?org=%s" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n "POST", "/repos/%s/%s/git/blobs" % ( orgName, repoName ),\n { "content": "Content of the new blob", "encoding": "latin1" }\n)\n', u'type': u'application/python', u'size': 1636}} ) ### @todo + self.assertEquals( self.gist.forks, [] ) + self.assertEquals( self.gist.git_pull_url, "git://gist.github.com/2729810.git" ) + self.assertEquals( self.gist.git_push_url, "git@gist.github.com:2729810.git" ) + self.assertEquals( len( self.gist.history ), 1 ) + self.assertEquals( self.gist.history[ 0 ].change_status.additions, 52 ) + self.assertEquals( self.gist.history[ 0 ].change_status.deletions, 0 ) + self.assertEquals( self.gist.history[ 0 ].change_status.total, 52 ) + self.assertEquals( self.gist.history[ 0 ].committed_at, "2012-02-29T16:47:12Z" ) + self.assertEquals( self.gist.history[ 0 ].url, "https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e" ) + self.assertEquals( self.gist.history[ 0 ].user.login, "jacquev6" ) + self.assertEquals( self.gist.history[ 0 ].version, "a40de483e42ba33bda308371c0ef8383db73be9e" ) + self.assertEquals( self.gist.html_url, "https://gist.github.com/2729810" ) + self.assertEquals( self.gist.id, "2729810" ) + self.assertEquals( self.gist.public, True ) + self.assertEquals( self.gist.updated_at, "2012-02-29T16:47:12Z" ) + self.assertEquals( self.gist.url, "https://api.github.com/gists/2729810" ) + self.assertEquals( self.gist.user.login, "jacquev6" ) def testEditWithoutParameters( self ): - gist = self.g.get_gist( "2729810" ) - gist.edit() - self.assertEquals( gist.description, "Gist created by PyGithub" ) - self.assertEquals( gist.updated_at, "2012-05-19T07:00:58Z" ) + self.gist.edit() + self.assertEquals( self.gist.description, "Gist created by PyGithub" ) + self.assertEquals( self.gist.updated_at, "2012-05-19T07:00:58Z" ) def testEditWithAllParameters( self ): - gist = self.g.get_gist( "2729810" ) - gist.edit( "Description edited by PyGithub", { "barbaz.txt": { "content": "File also created by PyGithub" } } ) - self.assertEquals( gist.description, "Description edited by PyGithub" ) - self.assertEquals( gist.updated_at, "2012-05-19T07:06:10Z" ) - self.assertEquals( gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}, u'barbaz.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt', u'language': u'Text', u'filename': u'barbaz.txt', u'content': u'File also created by PyGithub', u'type': u'text/plain', u'size': 29}} ) # Notice that the file is added, not replacing ### @todo + self.gist.edit( "Description edited by PyGithub", { "barbaz.txt": { "content": "File also created by PyGithub" } } ) + self.assertEquals( self.gist.description, "Description edited by PyGithub" ) + self.assertEquals( self.gist.updated_at, "2012-05-19T07:06:10Z" ) + self.assertEquals( self.gist.files, {u'foobar.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt', u'language': u'Text', u'filename': u'foobar.txt', u'content': u'File created by PyGithub', u'type': u'text/plain', u'size': 24}, u'barbaz.txt': {u'raw_url': u'https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt', u'language': u'Text', u'filename': u'barbaz.txt', u'content': u'File also created by PyGithub', u'type': u'text/plain', u'size': 29}} ) # Notice that the file is added, not replacing ### @todo def testCreateComment( self ): - gist = self.g.get_gist( "2729810" ) - comment = gist.create_comment( "Comment created by PyGithub" ) + comment = self.gist.create_comment( "Comment created by PyGithub" ) self.assertEquals( comment.id, 323629 ) - def testCommentAttributes( self ): - comment = self.g.get_gist( "2729810" ).get_comment( 323629 ) - self.assertEquals( comment.body, "Comment created by PyGithub" ) - self.assertEquals( comment.created_at, "2012-05-19T07:07:57Z" ) - self.assertEquals( comment.id, 323629 ) - self.assertEquals( comment.updated_at, "2012-05-19T07:07:57Z" ) - self.assertEquals( comment.url, "https://api.github.com/gists/comments/323629" ) - self.assertEquals( comment.user.login, "jacquev6" ) - - def testEditComment( self ): - comment = self.g.get_gist( "2729810" ).get_comment( 323629 ) - comment.edit( "Comment edited by PyGithub" ) - self.assertEquals( comment.body, "Comment edited by PyGithub" ) - self.assertEquals( comment.updated_at, "2012-05-19T07:12:32Z" ) - - def testDeleteComment( self ): - comment = self.g.get_gist( "2729810" ).get_comment( 323629 ) - comment.delete() - def testGetComments( self ): - gist = self.g.get_gist( "2729810" ) - for comment in gist.get_comments(): # There is only one comment - self.assertEquals( comment.id, 323637 ) + for comment in self.gist.get_comments(): # There is only one comment + self.assertEquals( comment.id, 323637 ) ### @todo use assertListKeyEqual def testStarring( self ): - gist = self.g.get_gist( "2729810" ) - self.assertFalse( gist.is_starred() ) - gist.set_starred() - self.assertTrue( gist.is_starred() ) - gist.reset_starred() - self.assertFalse( gist.is_starred() ) + self.assertFalse( self.gist.is_starred() ) + self.gist.set_starred() + self.assertTrue( self.gist.is_starred() ) + self.gist.reset_starred() + self.assertFalse( self.gist.is_starred() ) def testFork( self ): gist = self.g.get_gist( "2729818" ) # Random gist @@ -104,5 +63,4 @@ class Gist( Framework.TestCase ): self.assertEquals( sameGist.fork_of.id, "2729818" ) def testDelete( self ): - gist = self.g.get_gist( "2729865" ) - gist.delete() + self.gist.delete() diff --git a/test/GistComment.py b/test/GistComment.py new file mode 100644 index 00000000..5132f724 --- /dev/null +++ b/test/GistComment.py @@ -0,0 +1,22 @@ +import Framework + +class GistComment( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.comment = self.g.get_gist( "2729810" ).get_comment( 323629 ) + + def testAttributes( self ): ### @todo Move + self.assertEquals( self.comment.body, "Comment created by PyGithub" ) + self.assertEquals( self.comment.created_at, "2012-05-19T07:07:57Z" ) + self.assertEquals( self.comment.id, 323629 ) + self.assertEquals( self.comment.updated_at, "2012-05-19T07:07:57Z" ) + self.assertEquals( self.comment.url, "https://api.github.com/gists/comments/323629" ) + self.assertEquals( self.comment.user.login, "jacquev6" ) + + def testEdit( self ): ### @todo Move + self.comment.edit( "Comment edited by PyGithub" ) + self.assertEquals( self.comment.body, "Comment edited by PyGithub" ) + self.assertEquals( self.comment.updated_at, "2012-05-19T07:12:32Z" ) + + def testDelete( self ): + self.comment.delete() diff --git a/test/GitBlob.py b/test/GitBlob.py new file mode 100644 index 00000000..89015fcb --- /dev/null +++ b/test/GitBlob.py @@ -0,0 +1,15 @@ +import Framework + +class GitBlob( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.blob = self.g.get_user().get_repo( "PyGithub" ).get_git_blob( "53bce9fa919b4544e67275089b3ec5b44be20667" ) + + def testAttributes( self ): + self.assertTrue( self.blob.content.startswith( "IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\n" ) ) + self.assertTrue( self.blob.content.endswith( "Z3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n" ) ) + self.assertEqual( len( self.blob.content ), 1757 ) + self.assertEqual( self.blob.encoding, "base64" ) + self.assertEqual( self.blob.size, 1295 ) + self.assertEqual( self.blob.sha, "53bce9fa919b4544e67275089b3ec5b44be20667" ) + self.assertEqual( self.blob.url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667" ) diff --git a/test/GitCommit.py b/test/GitCommit.py new file mode 100644 index 00000000..165298a8 --- /dev/null +++ b/test/GitCommit.py @@ -0,0 +1,21 @@ +import Framework + +class GitCommit( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.commit = self.g.get_user().get_repo( "PyGithub" ).get_git_commit( "4303c5b90e2216d927155e9609436ccb8984c495" ) + + def testAttributes( self ): + self.assertEqual( self.commit.author.name, "Vincent Jacques" ) + self.assertEqual( self.commit.author.email, "vincent@vincent-jacques.net" ) + self.assertEqual( self.commit.author.date, "2012-04-17T10:55:16-07:00" ) + self.assertEqual( self.commit.committer.name, "Vincent Jacques" ) + self.assertEqual( self.commit.committer.email, "vincent@vincent-jacques.net" ) + self.assertEqual( self.commit.committer.date, "2012-04-17T10:55:16-07:00" ) + self.assertEqual( self.commit.message, "Merge branch 'develop'\n" ) + self.assertEqual( len( self.commit.parents ), 2 ) + self.assertEqual( self.commit.parents[ 0 ].sha, "936f4a97f1a86392637ec002bbf89ff036a5062d" ) + self.assertEqual( self.commit.parents[ 1 ].sha, "2a7e80e6421c5d4d201d60619068dea6bae612cb" ) + self.assertEqual( self.commit.sha, "4303c5b90e2216d927155e9609436ccb8984c495" ) + self.assertEqual( self.commit.tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad" ) + self.assertEqual( self.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495" ) diff --git a/test/GitObjects.py b/test/GitObjects.py deleted file mode 100644 index e1d7c5bd..00000000 --- a/test/GitObjects.py +++ /dev/null @@ -1,177 +0,0 @@ -import Framework - -class Branch( Framework.TestCaseWithRepo ): - def testAttributes( self ): - branch = self.repo.get_branches()[ 0 ] - self.assertEqual( branch.name, "topic/RewriteWithGeneratedCode" ) - self.assertEqual( branch.commit.author.login, "jacquev6" ) - self.assertEqual( branch.commit.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) - self.assertEqual( branch.commit.committer.login, "jacquev6" ) - self.assertEqual( len( branch.commit.files ), 1 ) - self.assertEqual( branch.commit.files[ 0 ].additions, 0 ) - self.assertEqual( branch.commit.files[ 0 ].blob_url, "https://github.com/jacquev6/PyGithub/blob/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py" ) - self.assertEqual( branch.commit.files[ 0 ].changes, 20 ) - self.assertEqual( branch.commit.files[ 0 ].deletions, 20 ) - self.assertEqual( branch.commit.files[ 0 ].filename, "github/GithubObjects/GitAuthor.py" ) - self.assertTrue( isinstance( branch.commit.files[ 0 ].patch, ( str, unicode ) ) ) - self.assertEqual( branch.commit.files[ 0 ].raw_url, "https://github.com/jacquev6/PyGithub/raw/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/github/GithubObjects/GitAuthor.py" ) - self.assertEqual( branch.commit.files[ 0 ].sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) - self.assertEqual( branch.commit.files[ 0 ].status, "modified" ) - self.assertEqual( len( branch.commit.parents ), 1 ) - self.assertEqual( branch.commit.parents[ 0 ].sha, "b46ed0dfde5ad02d3b91eb54a41c5ed960710eae" ) - self.assertEqual( branch.commit.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) - self.assertEqual( branch.commit.stats.deletions, 20 ) - self.assertEqual( branch.commit.stats.additions, 0 ) - self.assertEqual( branch.commit.stats.total, 20 ) - self.assertEqual( branch.commit.url, "https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) - - def testCommitComments( self ): - commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" ) - comments = list( commit.get_comments() ) - self.assertEqual( len( comments ), 4 ) - comment = comments[ 0 ] - self.assertEqual( len( comment.body ), 492 ) - self.assertEqual( comment.commit_id, "6945921c529be14c3a8f566dd1e483674516d46d" ) - self.assertEqual( comment.created_at, "2012-05-18T08:46:09Z" ) - self.assertEqual( comment.html_url, "https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347033" ) - self.assertEqual( comment.id, 1347033 ) - self.assertEqual( comment.line, None ) - self.assertEqual( comment.path, None ) - self.assertEqual( comment.position, None ) - self.assertEqual( comment.updated_at, "2012-05-18T08:46:09Z" ) - self.assertEqual( comment.url, "https://api.github.com/repos/jacquev6/PyGithub/comments/1347033" ) - self.assertEqual( comment.user.login, "bilderbuchi" ) - - def testCreateCommitComment( self ): - commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" ) - comment = commit.create_comment( "Comment created by PyGithub" ) - self.assertEqual( comment.id, 1361949 ) - - def testCreateCommitCommentOnFileLine( self ): - commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" ) - comment = commit.create_comment( "Comment created by PyGithub", path = "codegen/templates/GithubObject.MethodBody.UseResult.py", line = 26 ) - self.assertEqual( comment.id, 1362000 ) - self.assertEqual( comment.line, 26 ) - self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" ) - self.assertEqual( comment.position, None ) - - def testCreateCommitCommentOnFilePosition( self ): - commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" ) - comment = commit.create_comment( "Comment also created by PyGithub", path = "codegen/templates/GithubObject.MethodBody.UseResult.py", position = 3 ) - self.assertEqual( comment.id, 1362001 ) - self.assertEqual( comment.line, None ) - self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" ) - self.assertEqual( comment.position, 3 ) - - def testEditCommitComment( self ): - comment = self.repo.get_comment( 1361949 ) - comment.edit( "Comment edited by PyGithub" ) - - def testDeleteCommitComment( self ): - comment = self.repo.get_comment( 1361949 ) - comment.delete() - - def testCommitCommentsOnLine( self ): - commit = self.repo.get_commit( "6945921c529be14c3a8f566dd1e483674516d46d" ) - comments = list( commit.get_comments() ) - self.assertEqual( len( comments ), 4 ) - comment = comments[ 3 ] - self.assertEqual( comment.body, "This comment is here only to test PyGithub..." ) - self.assertEqual( comment.commit_id, "6945921c529be14c3a8f566dd1e483674516d46d" ) - self.assertEqual( comment.created_at, "2012-05-18T20:11:17Z" ) - self.assertEqual( comment.html_url, "https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1349654" ) - self.assertEqual( comment.id, 1349654 ) - self.assertEqual( comment.line, 25 ) - self.assertEqual( comment.path, "codegen/templates/GithubObject.MethodBody.UseResult.py" ) - self.assertEqual( comment.position, 3 ) - self.assertEqual( comment.updated_at, "2012-05-18T20:11:17Z" ) - self.assertEqual( comment.url, "https://api.github.com/repos/jacquev6/PyGithub/comments/1349654" ) - self.assertEqual( comment.user.login, "jacquev6" ) - -class Tag( Framework.TestCaseWithRepo ): - def testAttributes( self ): - tag = self.repo.get_tags()[ 0 ] - self.assertEqual( tag.commit.sha, "636e6112deb72277b3bffcc3303cd7e8a7431a5d" ) - self.assertEqual( tag.name, "v0.3" ) - self.assertEqual( tag.tarball_url, "https://github.com/jacquev6/PyGithub/tarball/v0.3" ) - self.assertEqual( tag.zipball_url, "https://github.com/jacquev6/PyGithub/zipball/v0.3" ) - -class GitBlob( Framework.TestCaseWithRepo ): - def testAttributes( self ): - blob = self.repo.get_git_blob( "53bce9fa919b4544e67275089b3ec5b44be20667" ) - self.assertTrue( blob.content.startswith( "IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\n" ) ) - self.assertTrue( blob.content.endswith( "Z3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n" ) ) - self.assertEqual( len( blob.content ), 1757 ) - self.assertEqual( blob.encoding, "base64" ) - self.assertEqual( blob.size, 1295 ) - self.assertEqual( blob.sha, "53bce9fa919b4544e67275089b3ec5b44be20667" ) - self.assertEqual( blob.url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667" ) - - def testCreate( self ): - blob = self.repo.create_git_blob( "Blob created by PyGithub", "latin1" ) - self.assertEqual( blob.sha, "5dd930f591cd5188e9ea7200e308ad355182a1d8" ) - -class GitCommit( Framework.TestCaseWithRepo ): - def testAttributes( self ): - commit = self.repo.get_git_commit( "4303c5b90e2216d927155e9609436ccb8984c495" ) - self.assertEqual( commit.author.name, "Vincent Jacques" ) - self.assertEqual( commit.author.email, "vincent@vincent-jacques.net" ) - self.assertEqual( commit.author.date, "2012-04-17T10:55:16-07:00" ) - self.assertEqual( commit.committer.name, "Vincent Jacques" ) - self.assertEqual( commit.committer.email, "vincent@vincent-jacques.net" ) - self.assertEqual( commit.committer.date, "2012-04-17T10:55:16-07:00" ) - self.assertEqual( commit.message, "Merge branch 'develop'\n" ) - self.assertEqual( len( commit.parents ), 2 ) - self.assertEqual( commit.parents[ 0 ].sha, "936f4a97f1a86392637ec002bbf89ff036a5062d" ) - self.assertEqual( commit.parents[ 1 ].sha, "2a7e80e6421c5d4d201d60619068dea6bae612cb" ) - self.assertEqual( commit.sha, "4303c5b90e2216d927155e9609436ccb8984c495" ) - self.assertEqual( commit.tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad" ) - self.assertEqual( commit.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495" ) - -class GitRef( Framework.TestCaseWithRepo ): - def testAttributes( self ): - ref = self.repo.get_git_ref( "refs/heads/topic/RewriteWithGeneratedCode" ) - self.assertEqual( ref.object.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) - self.assertEqual( ref.object.type, "commit" ) - self.assertEqual( ref.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) - self.assertEqual( ref.ref, "refs/heads/topic/RewriteWithGeneratedCode" ) - self.assertEqual( ref.url, "https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/topic/RewriteWithGeneratedCode" ) - - def testCreateEditDelete( self ): - ref = self.repo.create_git_ref( "refs/heads/BranchCreatedByPyGithub", "4303c5b90e2216d927155e9609436ccb8984c495" ) - ref.edit( "04cde900a0775b51f762735637bd30de392a2793" ) - ref.edit( "4303c5b90e2216d927155e9609436ccb8984c495", force = True ) - ref.delete() - -class GitTag( Framework.TestCaseWithRepo ): - def testAttributes( self ): - tag = self.repo.get_git_tag( "f5f37322407b02a80de4526ad88d5f188977bc3c" ) - self.assertEqual( tag.message, "Version 0.6\n" ) - self.assertEqual( tag.object.sha, "4303c5b90e2216d927155e9609436ccb8984c495" ) - self.assertEqual( tag.object.type, "commit" ) - self.assertEqual( tag.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495" ) - self.assertEqual( tag.sha, "f5f37322407b02a80de4526ad88d5f188977bc3c" ) - self.assertEqual( tag.tag, "v0.6" ) - self.assertEqual( tag.tagger.date, "2012-05-10T11:14:15-07:00" ) - self.assertEqual( tag.tagger.email, "vincent@vincent-jacques.net" ) - self.assertEqual( tag.tagger.name, "Vincent Jacques" ) - self.assertEqual( tag.url, "https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c" ) - -class GitTree( Framework.TestCaseWithRepo ): - def testAttributes( self ): - tree = self.repo.get_git_tree( "f492784d8ca837779650d1fb406a1a3587a764ad" ) - self.assertEqual( tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad" ) - self.assertEqual( len( tree.tree ), 11 ) - self.assertEqual( tree.tree[ 0 ].mode, "100644" ) - self.assertEqual( tree.tree[ 0 ].path, ".gitignore" ) - self.assertEqual( tree.tree[ 0 ].sha, "8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd" ) - self.assertEqual( tree.tree[ 0 ].size, 53 ) - self.assertEqual( tree.tree[ 0 ].type, "blob" ) - self.assertEqual( tree.tree[ 0 ].url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd" ) - self.assertEqual( tree.tree[ 6 ].mode, "040000" ) - self.assertEqual( tree.tree[ 6 ].path, "ReplayDataForIntegrationTest" ) - self.assertEqual( tree.tree[ 6 ].sha, "60b4602b2c2070246c5df078fb7a5150b45815eb" ) - # self.assertEqual( tree.tree[ 6 ].size, None ) ### @todo This test tries to __complete the GitTreeElement. (Lazy-)Complete-ability should be specified in the json description, not deduced from the presence of a url attribute. - self.assertEqual( tree.tree[ 6 ].type, "tree" ) - self.assertEqual( tree.tree[ 6 ].url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb" ) - self.assertEqual( tree.url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad" ) diff --git a/test/GitRef.py b/test/GitRef.py new file mode 100644 index 00000000..481a4ece --- /dev/null +++ b/test/GitRef.py @@ -0,0 +1,22 @@ +import Framework + +class GitRef( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.ref = self.g.get_user().get_repo( "PyGithub" ).get_git_ref( "refs/heads/BranchCreatedByPyGithub" ) + + def testAttributes( self ): + self.assertEqual( self.ref.object.sha, "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) + self.assertEqual( self.ref.object.type, "commit" ) + self.assertEqual( self.ref.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a" ) + self.assertEqual( self.ref.ref, "refs/heads/BranchCreatedByPyGithub" ) + self.assertEqual( self.ref.url, "https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub" ) + + def testEdit( self ): + self.ref.edit( "04cde900a0775b51f762735637bd30de392a2793" ) + + def testEditWithForce( self ): + self.ref.edit( "4303c5b90e2216d927155e9609436ccb8984c495", force = True ) + + def testDelete( self ): + self.ref.delete() diff --git a/test/GitTag.py b/test/GitTag.py new file mode 100644 index 00000000..a9fc92b4 --- /dev/null +++ b/test/GitTag.py @@ -0,0 +1,18 @@ +import Framework + +class GitTag( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.tag = self.g.get_user().get_repo( "PyGithub" ).get_git_tag( "f5f37322407b02a80de4526ad88d5f188977bc3c" ) + + def testAttributes( self ): + self.assertEqual( self.tag.message, "Version 0.6\n" ) + self.assertEqual( self.tag.object.sha, "4303c5b90e2216d927155e9609436ccb8984c495" ) + self.assertEqual( self.tag.object.type, "commit" ) + self.assertEqual( self.tag.object.url, "https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495" ) + self.assertEqual( self.tag.sha, "f5f37322407b02a80de4526ad88d5f188977bc3c" ) + self.assertEqual( self.tag.tag, "v0.6" ) + self.assertEqual( self.tag.tagger.date, "2012-05-10T11:14:15-07:00" ) + self.assertEqual( self.tag.tagger.email, "vincent@vincent-jacques.net" ) + self.assertEqual( self.tag.tagger.name, "Vincent Jacques" ) + self.assertEqual( self.tag.url, "https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c" ) diff --git a/test/GitTree.py b/test/GitTree.py new file mode 100644 index 00000000..8cc65bd1 --- /dev/null +++ b/test/GitTree.py @@ -0,0 +1,23 @@ +import Framework + +class GitTree( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.tree = self.g.get_user().get_repo( "PyGithub" ).get_git_tree( "f492784d8ca837779650d1fb406a1a3587a764ad" ) + + def testAttributes( self ): + self.assertEqual( self.tree.sha, "f492784d8ca837779650d1fb406a1a3587a764ad" ) + self.assertEqual( len( self.tree.tree ), 11 ) + self.assertEqual( self.tree.tree[ 0 ].mode, "100644" ) + self.assertEqual( self.tree.tree[ 0 ].path, ".gitignore" ) + self.assertEqual( self.tree.tree[ 0 ].sha, "8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd" ) + self.assertEqual( self.tree.tree[ 0 ].size, 53 ) + self.assertEqual( self.tree.tree[ 0 ].type, "blob" ) + self.assertEqual( self.tree.tree[ 0 ].url, "https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd" ) + self.assertEqual( self.tree.tree[ 6 ].mode, "040000" ) + self.assertEqual( self.tree.tree[ 6 ].path, "ReplayDataForIntegrationTest" ) + self.assertEqual( self.tree.tree[ 6 ].sha, "60b4602b2c2070246c5df078fb7a5150b45815eb" ) + self.assertEqual( self.tree.tree[ 6 ].size, None ) + self.assertEqual( self.tree.tree[ 6 ].type, "tree" ) + self.assertEqual( self.tree.tree[ 6 ].url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb" ) + self.assertEqual( self.tree.url, "https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad" ) diff --git a/test/Github.py b/test/Github.py new file mode 100644 index 00000000..682558af --- /dev/null +++ b/test/Github.py @@ -0,0 +1,5 @@ +import Framework + +class Github( Framework.TestCase ): + def testGetGists( self ): + self.assertListKeyBegin( self.g.get_gists(), lambda g: g.id, [ "2729695", "2729656", "2729597", "2729584", "2729569", "2729554", "2729543", "2729537", "2729536", "2729533", "2729525", "2729522", "2729519", "2729515", "2729506", "2729487", "2729484", "2729482", "2729441", "2729432", "2729420", "2729398", "2729372", "2729371", "2729351", "2729346", "2729316", "2729304", "2729296", "2729276", "2729272", "2729265", "2729195", "2729160", "2729143", "2729127", "2729119", "2729113", "2729103", "2729069", "2729059", "2729051", "2729029", "2729027", "2729026", "2729022", "2729002", "2728985", "2728979", "2728964", "2728937", "2728933", "2728884", "2728869", "2728866", "2728855", "2728854", "2728853", "2728846", "2728825", "2728814", "2728813", "2728812", "2728805", "2728802", "2728800", "2728798", "2728797", "2728796", "2728793", "2728758", "2728754", "2728751", "2728748", "2728721", "2728716", "2728715", "2728705", "2728701", "2728699", "2728697", "2728688", "2728683", "2728677", "2728649", "2728640", "2728625", "2728620", "2728615", "2728614", "2728565", "2728564", "2728554", "2728523", "2728519", "2728511", "2728497", "2728496", "2728495", "2728487" ] ) diff --git a/test/Hook.py b/test/Hook.py index 028f8b7c..4c37d55b 100644 --- a/test/Hook.py +++ b/test/Hook.py @@ -1,52 +1,27 @@ import Framework -class Hook( Framework.TestCaseWithRepo ): - def testCreateWithMinimalParameters( self ): - ### @todo Implement https://api.github.com/hooks, which is not described, but refered by http://developer.github.com/v3/repos/hooks/#create-a-hook - hook = self.repo.create_hook( "web", { "url": "http://foobar.com" } ) - self.assertEqual( hook.active, True ) - self.assertEqual( hook.config, { "url": "http://foobar.com" } ) - self.assertEqual( hook.created_at, "2012-05-19T05:03:14Z" ) - self.assertEqual( hook.events, [ "push" ] ) - self.assertEqual( hook.id, 257967 ) - self.assertEqual( hook.last_response, { "status": "unused", "message": None, "code": None } ) - self.assertEqual( hook.name, "web" ) - self.assertEqual( hook.updated_at, "2012-05-19T05:03:14Z" ) - self.assertEqual( hook.url, "https://api.github.com/repos/jacquev6/PyGithub/hooks/257967" ) +class Hook( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.hook = self.g.get_user().get_repo( "PyGithub" ).get_hook( 257993 ) def testEditWithMinimalParameters( self ): - hook = self.repo.get_hook( 257967 ) - hook.edit( "web", { "url": "http://foobar.com/hook" } ) - self.assertEqual( hook.config, { "url": "http://foobar.com/hook" } ) - self.assertEqual( hook.updated_at, "2012-05-19T05:08:16Z" ) + self.hook.edit( "web", { "url": "http://foobar.com/hook" } ) + self.assertEqual( self.hook.config, { "url": "http://foobar.com/hook" } ) + self.assertEqual( self.hook.updated_at, "2012-05-19T05:08:16Z" ) def testDelete( self ): - hook = self.repo.get_hook( 257967 ) - hook.delete() - - def testCreateWithAllParameters( self ): - hook = self.repo.create_hook( "web", { "url": "http://foobar.com" }, [ "fork" ], False ) - self.assertEqual( hook.active, True ) # WTF - self.assertEqual( hook.config, { "url": "http://foobar.com" } ) - self.assertEqual( hook.created_at, "2012-05-19T06:01:45Z" ) - self.assertEqual( hook.events, [ "fork" ] ) - self.assertEqual( hook.id, 257993 ) - self.assertEqual( hook.last_response, { "status": "unused", "message": None, "code": None } ) - self.assertEqual( hook.name, "web" ) - self.assertEqual( hook.updated_at, "2012-05-19T06:01:45Z" ) - self.assertEqual( hook.url, "https://api.github.com/repos/jacquev6/PyGithub/hooks/257993" ) + self.hook.delete() def testTest( self ): - hook = self.repo.get_hook( 257993 ) - hook.test() # This does not update attributes of hook + self.hook.test() # This does not update attributes of hook def testEditWithAllParameters( self ): - hook = self.repo.get_hook( 257993 ) - hook.edit( "web", { "url": "http://foobar.com" }, events = [ "fork", "push" ] ) - self.assertEqual( hook.events, [ "fork", "push" ] ) - hook.edit( "web", { "url": "http://foobar.com" }, add_events = [ "push" ] ) - self.assertEqual( hook.events, [ "fork", "push" ] ) - hook.edit( "web", { "url": "http://foobar.com" }, remove_events = [ "fork" ] ) - self.assertEqual( hook.events, [ "push" ] ) - hook.edit( "web", { "url": "http://foobar.com" }, active = True ) - self.assertEqual( hook.active, True ) + self.hook.edit( "web", { "url": "http://foobar.com" }, events = [ "fork", "push" ] ) + self.assertEqual( self.hook.events, [ "fork", "push" ] ) + self.hook.edit( "web", { "url": "http://foobar.com" }, add_events = [ "push" ] ) + self.assertEqual( self.hook.events, [ "fork", "push" ] ) + self.hook.edit( "web", { "url": "http://foobar.com" }, remove_events = [ "fork" ] ) + self.assertEqual( self.hook.events, [ "push" ] ) + self.hook.edit( "web", { "url": "http://foobar.com" }, active = True ) + self.assertEqual( self.hook.active, True ) diff --git a/test/IntegrationTest.py b/test/IntegrationTest.py index 4a66ad95..71beb5ac 100644 --- a/test/IntegrationTest.py +++ b/test/IntegrationTest.py @@ -3,17 +3,30 @@ import Framework from AuthenticatedUser import * -from GitObjects import * +from Branch import * +from Commit import * +from CommitComment import * +from GitBlob import * +from GitCommit import * +from GitRef import * +from GitTag import * +from GitTree import * +from Tag import * from Repository import * from Organization import * -from MilestonesAndIssues import * +from Milestone import * +from Issue import * +from IssueComment import * +from Label import * from NamedUser import * from Hook import * from Gist import * +from GistComment import * from Authorization import * from RateLimiting import * from Download import * from Authentication import * from Event import * +from Github import * Framework.main() diff --git a/test/Issue.py b/test/Issue.py new file mode 100644 index 00000000..188b0a6b --- /dev/null +++ b/test/Issue.py @@ -0,0 +1,49 @@ +import Framework + +class Issue( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.issue = self.g.get_user().get_repo( "PyGithub" ).get_issue( 28 ) + + def testAttributes( self ): + self.assertEqual( self.issue.assignee.login, "jacquev6" ) + self.assertEqual( self.issue.body, "Body edited by PyGithub" ) + self.assertEqual( self.issue.closed_at, "2012-05-26T14:59:33Z" ) + self.assertEqual( self.issue.closed_by.login, "jacquev6" ) + self.assertEqual( self.issue.comments, 0 ) + self.assertEqual( self.issue.created_at, "2012-05-19T10:38:23Z" ) + self.assertEqual( self.issue.html_url, "https://github.com/jacquev6/PyGithub/issues/28" ) + self.assertEqual( self.issue.id, 4653757 ) + self.assertListKeyEqual( self.issue.labels, lambda l: l.name, [ "Bug", "Project management", "Question" ] ) + self.assertEqual( self.issue.milestone.title, "Version 0.4" ) + self.assertEqual( self.issue.number, 28 ) + self.assertEqual( self.issue.pull_request, {u'diff_url': None, u'patch_url': None, u'html_url': None} ) ### @todo + self.assertEqual( self.issue.state, "closed" ) + self.assertEqual( self.issue.title, "Issue created by PyGithub" ) + self.assertEqual( self.issue.updated_at, "2012-05-26T14:59:33Z" ) + self.assertEqual( self.issue.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/28" ) + self.assertEqual( self.issue.user.login, "jacquev6" ) + + def testEditWithoutParameters( self ): + self.issue.edit() + + def testEditWithAllParameters( self ): + ### @todo Variadic argument for labels? + ### @todo NamedUser instead of string for assignee + self.issue.edit( "Title edited by PyGithub", "Body edited by PyGithub", "jacquev6", "open", 2, [ "Bug" ] ) + self.assertEqual( self.issue.assignee.login, "jacquev6" ) + self.assertEqual( self.issue.body, "Body edited by PyGithub" ) + self.assertEqual( self.issue.state, "open" ) + self.assertEqual( self.issue.title, "Title edited by PyGithub" ) + self.assertEqual( len( self.issue.labels ), 1 ) + self.assertEqual( self.issue.labels[ 0 ].name, "Bug" ) + + def testCreateComment( self ): + comment = self.issue.create_comment( "Comment created by PyGithub" ) + self.assertEqual( comment.id, 5808311 ) + + def testGetComments( self ): + self.assertListKeyEqual( self.issue.get_comments(), lambda c: c.user.login, [ "jacquev6", "roskakori" ] ) + + def testGetEvents( self ): + self.assertListKeyEqual( self.issue.get_events(), lambda e: e.id, [ 15819975, 15820048 ] ) diff --git a/test/IssueComment.py b/test/IssueComment.py new file mode 100644 index 00000000..8b42b204 --- /dev/null +++ b/test/IssueComment.py @@ -0,0 +1,22 @@ +import Framework + +class IssueComment( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.comment = self.g.get_user().get_repo( "PyGithub" ).get_issue( 28 ).get_comment( 5808311 ) + + def testAttributes( self ): + self.assertEqual( self.comment.body, "Comment created by PyGithub" ) + self.assertEqual( self.comment.created_at, "2012-05-20T11:46:42Z" ) + self.assertEqual( self.comment.id, 5808311 ) + self.assertEqual( self.comment.updated_at, "2012-05-20T11:46:42Z" ) + self.assertEqual( self.comment.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311" ) + self.assertEqual( self.comment.user.login, "jacquev6" ) + + def testEdit( self ): + self.comment.edit( "Comment edited by PyGithub" ) + self.assertEqual( self.comment.body, "Comment edited by PyGithub" ) + self.assertEqual( self.comment.updated_at, "2012-05-20T11:53:59Z" ) + + def testDelete( self ): + self.comment.delete() diff --git a/test/Label.py b/test/Label.py new file mode 100644 index 00000000..841b1550 --- /dev/null +++ b/test/Label.py @@ -0,0 +1,20 @@ +import Framework + +class Label( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.label = self.g.get_user().get_repo( "PyGithub" ).get_label( "Bug" ) + + def testAttributes( self ): + self.assertEqual( self.label.color, "e10c02" ) + self.assertEqual( self.label.name, "Bug" ) + self.assertEqual( self.label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Bug" ) + + def testEdit( self ): + self.label.edit( "LabelEditedByPyGithub", "0000ff" ) + self.assertEqual( self.label.color, "0000ff" ) + self.assertEqual( self.label.name, "LabelEditedByPyGithub" ) + self.assertEqual( self.label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub" ) + + def testDelete( self ): + self.label.delete() diff --git a/test/Milestone.py b/test/Milestone.py new file mode 100644 index 00000000..da913306 --- /dev/null +++ b/test/Milestone.py @@ -0,0 +1,36 @@ +import Framework + +class Milestone( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.milestone = self.g.get_user().get_repo( "PyGithub" ).get_milestone( 1 ) + + def testAttributes( self ): + self.assertEqual( self.milestone.closed_issues, 2 ) + self.assertEqual( self.milestone.created_at, "2012-03-08T12:22:10Z" ) + self.assertEqual( self.milestone.description, "" ) + self.assertEqual( self.milestone.due_on, "2012-03-13T07:00:00Z" ) + self.assertEqual( self.milestone.id, 93546 ) + self.assertEqual( self.milestone.number, 1 ) + self.assertEqual( self.milestone.open_issues, 0 ) + self.assertEqual( self.milestone.state, "closed" ) + self.assertEqual( self.milestone.title, "Version 0.4" ) + self.assertEqual( self.milestone.url, "https://api.github.com/repos/jacquev6/PyGithub/milestones/1" ) + self.assertEqual( self.milestone.creator.login, "jacquev6" ) + + def testEditWithMinimalParameters( self ): + self.milestone.edit( "Title edited by PyGithub" ) + self.assertEqual( self.milestone.title, "Title edited by PyGithub" ) + + def testEditWithAllParameters( self ): + self.milestone.edit( "Title edited twice by PyGithub", "closed", "Description edited by PyGithub", due_on = "2012-06-16" ) + self.assertEqual( self.milestone.title, "Title edited twice by PyGithub" ) + self.assertEqual( self.milestone.state, "closed" ) + self.assertEqual( self.milestone.description, "Description edited by PyGithub" ) + self.assertEqual( self.milestone.due_on, "2012-06-16T07:00:00Z" ) + + def testGetLabels( self ): + self.assertListKeyEqual( self.milestone.get_labels(), lambda l: l.name, [ "Public interface", "Project management" ] ) + + def testDelete( self ): + self.milestone.delete() diff --git a/test/MilestonesAndIssues.py b/test/MilestonesAndIssues.py deleted file mode 100644 index a379bd7c..00000000 --- a/test/MilestonesAndIssues.py +++ /dev/null @@ -1,152 +0,0 @@ -import Framework - -class Milestone( Framework.TestCaseWithRepo ): - def testAttributes( self ): - milestone = self.repo.get_milestone( 1 ) - self.assertEqual( milestone.closed_issues, 2 ) - self.assertEqual( milestone.created_at, "2012-03-08T12:22:10Z" ) - self.assertEqual( milestone.description, "" ) - self.assertEqual( milestone.due_on, "2012-03-13T07:00:00Z" ) - self.assertEqual( milestone.id, 93546 ) - self.assertEqual( milestone.number, 1 ) - self.assertEqual( milestone.open_issues, 0 ) - self.assertEqual( milestone.state, "closed" ) - self.assertEqual( milestone.title, "Version 0.4" ) - self.assertEqual( milestone.url, "https://api.github.com/repos/jacquev6/PyGithub/milestones/1" ) - self.assertEqual( milestone.creator.login, "jacquev6" ) - - def testCreate( self ): - milestone = self.repo.create_milestone( "Milestone created by PyGithub", state = "open", description = "Description created by PyGithub", due_on = "2012-06-15" ) - self.assertEqual( milestone.number, 5 ) - - def testEditWithMinimalParameters( self ): - milestone = self.repo.get_milestone( 5 ) - milestone.edit( "Title edited by PyGithub" ) - self.assertEqual( milestone.title, "Title edited by PyGithub" ) - - def testEditWithAllParameters( self ): - milestone = self.repo.get_milestone( 5 ) - milestone.edit( "Title edited twice by PyGithub", "closed", "Description edited by PyGithub", due_on = "2012-06-16" ) - self.assertEqual( milestone.title, "Title edited twice by PyGithub" ) - self.assertEqual( milestone.state, "closed" ) - self.assertEqual( milestone.description, "Description edited by PyGithub" ) - self.assertEqual( milestone.due_on, "2012-06-16T07:00:00Z" ) - - def testGetLabels( self ): - milestone = self.repo.get_milestone( 2 ) - labels = milestone.get_labels() - self.assertEqual( labels[ 0 ].name, "Public interface" ) - - def testDelete( self ): - milestone = self.repo.get_milestone( 5 ) - milestone.delete() - -class Issue( Framework.TestCaseWithRepo ): - def testAttributes( self ): - issue = self.repo.get_issue( 1 ) - self.assertEqual( issue.assignee.login, "jacquev6" ) - self.assertEqual( issue.body, "" ) - self.assertEqual( issue.closed_at, "2012-03-12T20:46:35Z" ) - self.assertEqual( issue.closed_by.login, "jacquev6" ) - self.assertEqual( issue.comments, 0 ) - self.assertEqual( issue.created_at, "2012-02-27T09:11:14Z" ) - self.assertEqual( issue.html_url, "https://github.com/jacquev6/PyGithub/issues/1" ) - self.assertEqual( issue.id, 3397707 ) - self.assertEqual( len( issue.labels ), 1 ) - self.assertEqual( issue.labels[ 0 ].name, "Bug" ) - self.assertEqual( issue.milestone.title, "Version 0.4" ) - self.assertEqual( issue.number, 1 ) - # self.assertEqual( issue.pull_request, "" ) - self.assertEqual( issue.state, "closed" ) - self.assertEqual( issue.title, "Gitub -> Github everywhere" ) - self.assertEqual( issue.updated_at, "2012-03-12T20:46:35Z" ) - self.assertEqual( issue.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/1" ) - self.assertEqual( issue.user.login, "jacquev6" ) - - def testCreate( self ): - issue = self.repo.create_issue( "Issue created by PyGithub" ) - self.assertEqual( issue.number, 28 ) - - def testEditWithoutParameters( self ): - issue = self.repo.get_issue( 28 ) - issue.edit() - - def testEditWithAllParameters( self ): - issue = self.repo.get_issue( 28 ) - ### @todo Variadic argument for labels? - ### @todo NamedUser instead of string for assignee - issue.edit( "Title edited by PyGithub", "Body edited by PyGithub", "jacquev6", "open", 2, [ "Bug" ] ) - self.assertEqual( issue.assignee.login, "jacquev6" ) - self.assertEqual( issue.body, "Body edited by PyGithub" ) - self.assertEqual( issue.state, "open" ) - self.assertEqual( issue.title, "Title edited by PyGithub" ) - self.assertEqual( len( issue.labels ), 1 ) - self.assertEqual( issue.labels[ 0 ].name, "Bug" ) - - def testCreateComment( self ): - issue = self.repo.get_issue( 28 ) - comment = issue.create_comment( "Comment created by PyGithub" ) - self.assertEqual( comment.id, 5808311 ) - - def testCommentAttributes( self ): - comment = self.repo.get_issue( 28 ).get_comment( 5808311 ) - self.assertEqual( comment.body, "Comment created by PyGithub" ) - self.assertEqual( comment.created_at, "2012-05-20T11:46:42Z" ) - self.assertEqual( comment.id, 5808311 ) - self.assertEqual( comment.updated_at, "2012-05-20T11:46:42Z" ) - self.assertEqual( comment.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311" ) - self.assertEqual( comment.user.login, "jacquev6" ) - - def testEditComment( self ): - comment = self.repo.get_issue( 28 ).get_comment( 5808311 ) - comment.edit( "Comment edited by PyGithub" ) - self.assertEqual( comment.body, "Comment edited by PyGithub" ) - self.assertEqual( comment.updated_at, "2012-05-20T11:53:59Z" ) - - def testDeleteComment( self ): - comment = self.repo.get_issue( 28 ).get_comment( 5808311 ) - comment.delete() - - def testComments( self ): - comment = self.repo.get_issue( 24 ).get_comments()[ 0 ] - self.assertEqual( comment.user.login, "jacquev6" ) - - def testEvents( self ): - event = self.repo.get_issue( 28 ).get_events()[ 0 ] - self.assertEqual( event.actor.login, "jacquev6" ) - self.assertEqual( event.commit_id, None ) - self.assertEqual( event.created_at, "2012-05-19T10:38:23Z" ) - self.assertEqual( event.event, "subscribed" ) - self.assertEqual( event.id, 15819975 ) - self.assertEqual( event.issue.number, 28 ) - self.assertEqual( event.url, "https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975" ) - -class Label( Framework.TestCaseWithRepo ): - def testAttributes( self ): - label = self.repo.get_label( "Bug" ) - self.assertEqual( label.color, "e10c02" ) - self.assertEqual( label.name, "Bug" ) - self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Bug" ) - - def testCreate( self ): - label = self.repo.create_label( "Label with silly name % * + created by PyGithub", "00ff00" ) - self.assertEqual( label.color, "00ff00" ) - self.assertEqual( label.name, "Label with silly name % * + created by PyGithub" ) - self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub" ) - - def testGetLabelWithSillyName( self ): - label = self.repo.get_label( "Label with silly name % * + created by PyGithub" ) - self.assertEqual( label.color, "00ff00" ) - self.assertEqual( label.name, "Label with silly name % * + created by PyGithub" ) - self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub" ) - - def testEdit( self ): - label = self.repo.get_label( "Label with silly name % * + created by PyGithub" ) - label.edit( "LabelEditedByPyGithub", "0000ff" ) - self.assertEqual( label.color, "0000ff" ) - self.assertEqual( label.name, "LabelEditedByPyGithub" ) - self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub" ) - - def testDelete( self ): - label = self.repo.get_label( "LabelEditedByPyGithub" ) - label.delete() diff --git a/test/ReplayData/Authorization.testCreateWithAllArguments.txt b/test/ReplayData/AuthenticatedUser.testCreateAuthorizationWithAllArguments.txt similarity index 100% rename from test/ReplayData/Authorization.testCreateWithAllArguments.txt rename to test/ReplayData/AuthenticatedUser.testCreateAuthorizationWithAllArguments.txt diff --git a/test/ReplayData/Authorization.testCreateWithoutArguments.txt b/test/ReplayData/AuthenticatedUser.testCreateAuthorizationWithoutArguments.txt similarity index 100% rename from test/ReplayData/Authorization.testCreateWithoutArguments.txt rename to test/ReplayData/AuthenticatedUser.testCreateAuthorizationWithoutArguments.txt diff --git a/test/ReplayData/Gist.testCreate.txt b/test/ReplayData/AuthenticatedUser.testCreateGist.txt similarity index 100% rename from test/ReplayData/Gist.testCreate.txt rename to test/ReplayData/AuthenticatedUser.testCreateGist.txt diff --git a/test/ReplayData/Gist.testCreateWithoutDescription.txt b/test/ReplayData/AuthenticatedUser.testCreateGistWithoutDescription.txt similarity index 100% rename from test/ReplayData/Gist.testCreateWithoutDescription.txt rename to test/ReplayData/AuthenticatedUser.testCreateGistWithoutDescription.txt diff --git a/test/ReplayData/AuthenticatedUser.testWatching.txt b/test/ReplayData/AuthenticatedUser.testWatching.txt index 6c69b637..ee62657d 100644 --- a/test/ReplayData/AuthenticatedUser.testWatching.txt +++ b/test/ReplayData/AuthenticatedUser.testWatching.txt @@ -13,6 +13,11 @@ GET /user/watched {'Authorization': 'Basic login_and_password_removed'} null [('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '32854'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="next", ; rel="last"'), ('etag', '"0ead8fdcf36bbf2deb2c08c93e78d2cc"'), ('date', 'Tue, 22 May 2012 17:15:05 GMT'), ('content-type', 'application/json; charset=utf-8')] [{"pushed_at":"2012-05-21T09:21:47Z","git_url":"git://github.com/git/git.git","updated_at":"2012-05-22T15:08:00Z","homepage":"This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","url":"https://api.github.com/repos/git/git","has_downloads":true,"watchers":2193,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/git/git","has_wiki":false,"has_issues":false,"size":33156,"private":false,"forks":528,"owner":{"url":"https://api.github.com/users/git","login":"git","gravatar_id":"878a0ea898da1701df8573ed64a5cc9d","avatar_url":"https://secure.gravatar.com/avatar/878a0ea898da1701df8573ed64a5cc9d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":18133},"name":"git","language":"C","description":"Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.","clone_url":"https://github.com/git/git.git","ssh_url":"git@github.com:git/git.git","html_url":"https://github.com/git/git","created_at":"2008-07-23T14:21:26Z","id":36502,"open_issues":4},{"pushed_at":"2009-12-15T14:07:47Z","git_url":"git://github.com/moriyoshi/boost.php.git","updated_at":"2012-03-23T22:31:43Z","homepage":"","url":"https://api.github.com/repos/moriyoshi/boost.php","has_downloads":true,"watchers":46,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/moriyoshi/boost.php","has_wiki":true,"has_issues":true,"size":1331,"private":false,"forks":4,"owner":{"url":"https://api.github.com/users/moriyoshi","login":"moriyoshi","gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":18755},"name":"boost.php","language":"C++","description":"Create your PHP extension in C++, in a minute.","clone_url":"https://github.com/moriyoshi/boost.php.git","ssh_url":"git@github.com:moriyoshi/boost.php.git","html_url":"https://github.com/moriyoshi/boost.php","created_at":"2008-07-29T03:01:07Z","id":38097,"open_issues":1},{"pushed_at":"2012-05-10T15:17:56Z","git_url":"git://github.com/capistrano/capistrano.git","updated_at":"2012-05-22T14:33:44Z","homepage":"http://capify.org","url":"https://api.github.com/repos/capistrano/capistrano","has_downloads":false,"watchers":2247,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":true,"svn_url":"https://github.com/capistrano/capistrano","has_wiki":true,"has_issues":true,"size":236,"private":false,"forks":236,"owner":{"url":"https://api.github.com/users/capistrano","login":"capistrano","gravatar_id":"885e1c523b7975c4003de162d8ee8fee","avatar_url":"https://secure.gravatar.com/avatar/885e1c523b7975c4003de162d8ee8fee?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":58257},"name":"capistrano","language":"Ruby","description":"Remote multi-server automation tool","clone_url":"https://github.com/capistrano/capistrano.git","ssh_url":"git@github.com:capistrano/capistrano.git","html_url":"https://github.com/capistrano/capistrano","created_at":"2009-02-26T16:14:04Z","id":138312,"open_issues":31},{"pushed_at":"2010-05-28T07:23:06Z","git_url":"git://github.com/moriyoshi/boost.perl.git","updated_at":"2011-10-03T23:45:58Z","homepage":"","url":"https://api.github.com/repos/moriyoshi/boost.perl","has_downloads":true,"watchers":8,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/moriyoshi/boost.perl","has_wiki":true,"has_issues":true,"size":512,"private":false,"forks":0,"owner":{"url":"https://api.github.com/users/moriyoshi","login":"moriyoshi","gravatar_id":"0bafbcfcfb548a4ac20406692858f68b","avatar_url":"https://secure.gravatar.com/avatar/0bafbcfcfb548a4ac20406692858f68b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":18755},"name":"boost.perl","language":"C++","description":"Still a proof of concept...","clone_url":"https://github.com/moriyoshi/boost.perl.git","ssh_url":"git@github.com:moriyoshi/boost.perl.git","html_url":"https://github.com/moriyoshi/boost.perl","created_at":"2009-03-30T21:09:12Z","id":163431,"open_issues":0},{"pushed_at":"2012-05-01T21:43:17Z","git_url":"git://github.com/apenwarr/git-subtree.git","updated_at":"2012-05-20T16:20:08Z","homepage":"","url":"https://api.github.com/repos/apenwarr/git-subtree","has_downloads":true,"watchers":605,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/apenwarr/git-subtree","has_wiki":false,"has_issues":false,"size":176,"private":false,"forks":67,"owner":{"url":"https://api.github.com/users/apenwarr","login":"apenwarr","gravatar_id":"918b627daf7d848cd40770ed6cd15233","avatar_url":"https://secure.gravatar.com/avatar/918b627daf7d848cd40770ed6cd15233?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":20592},"name":"git-subtree","language":"Shell","description":"An experimental alternative to the git-submodule command. Merges and splits subtrees from your project into subprojects and back.","clone_url":"https://github.com/apenwarr/git-subtree.git","ssh_url":"git@github.com:apenwarr/git-subtree.git","html_url":"https://github.com/apenwarr/git-subtree","created_at":"2009-04-25T04:10:31Z","id":185096,"open_issues":11},{"pushed_at":"2012-04-15T18:55:55Z","git_url":"git://github.com/cosmin/git-hg.git","updated_at":"2012-05-20T09:51:32Z","homepage":"http://offbytwo.github.com/git-hg","url":"https://api.github.com/repos/cosmin/git-hg","has_downloads":true,"watchers":150,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/cosmin/git-hg","has_wiki":true,"has_issues":true,"size":224,"private":false,"forks":25,"owner":{"url":"https://api.github.com/users/cosmin","login":"cosmin","gravatar_id":"a8d35490b4016275e5bc3cc6cce8f878","avatar_url":"https://secure.gravatar.com/avatar/a8d35490b4016275e5bc3cc6cce8f878?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1358},"name":"git-hg","language":"Shell","description":"A git-hg utility for checking out and tracking a mercurial repo.","clone_url":"https://github.com/cosmin/git-hg.git","ssh_url":"git@github.com:cosmin/git-hg.git","html_url":"https://github.com/cosmin/git-hg","created_at":"2009-05-14T20:23:01Z","id":201230,"open_issues":0},{"pushed_at":"2012-05-22T14:24:02Z","git_url":"git://github.com/mxcl/homebrew.git","updated_at":"2012-05-22T15:38:59Z","homepage":"http://mxcl.github.com/homebrew","url":"https://api.github.com/repos/mxcl/homebrew","has_downloads":false,"watchers":8688,"permissions":{"pull":true,"admin":false,"push":false},"master_branch":"master","mirror_url":null,"fork":false,"svn_url":"https://github.com/mxcl/homebrew","has_wiki":true,"has_issues":true,"size":4844,"private":false,"forks":3971,"owner":{"url":"https://api.github.com/users/mxcl","login":"mxcl","gravatar_id":"25ff3dfe48d3847ecf9971aab99589fb","avatar_url":"https://secure.gravatar.com/avatar/25ff3dfe48d3847ecf9971aab99589fb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":58962},"name":"homebrew","language":"Ruby","description":"The missing package manager for OS X.","clone_url":"https://github.com/mxcl/homebrew.git","ssh_url":"git@github.com:mxcl/homebrew.git","html_url":"https://github.com/mxcl/homebrew","created_at":"2009-05-20T19:38:37Z","id":206084,"open_issues":442},{"pushed_at":"2010-11-25T02:39:53Z","git_url":"git://github.com/jamis/celtic_knot.git","updated_at":"2011-10-12T04:36:53Z","homepage":"","url":"https://api.github.com/repos/jamis/celtic_knot","has_downloads":true,"watchers":4,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/jamis/celtic_knot","has_wiki":true,"has_issues":true,"size":1272,"private":false,"forks":1,"owner":{"url":"https://api.github.com/users/jamis","login":"jamis","gravatar_id":"992fe8c19bbbc27f2b562a9f96efc03d","avatar_url":"https://secure.gravatar.com/avatar/992fe8c19bbbc27f2b562a9f96efc03d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":1627},"name":"celtic_knot","language":"Ruby","description":"A library for generating Celtic Knotwork designs from graphs","clone_url":"https://github.com/jamis/celtic_knot.git","ssh_url":"git@github.com:jamis/celtic_knot.git","html_url":"https://github.com/jamis/celtic_knot","created_at":"2009-05-24T23:23:10Z","id":209230,"open_issues":0},{"pushed_at":"2011-10-28T11:27:34Z","git_url":"git://github.com/jdavisp3/twisted-intro.git","updated_at":"2012-05-16T01:52:49Z","homepage":"http://krondo.com/blog/?page_id=1327","url":"https://api.github.com/repos/jdavisp3/twisted-intro","has_downloads":true,"watchers":56,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/jdavisp3/twisted-intro","has_wiki":true,"has_issues":true,"size":188,"private":false,"forks":11,"owner":{"url":"https://api.github.com/users/jdavisp3","login":"jdavisp3","gravatar_id":"fcc237fd34a8e504f7224df0c58cc0b3","avatar_url":"https://secure.gravatar.com/avatar/fcc237fd34a8e504f7224df0c58cc0b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":43582},"name":"twisted-intro","language":"Python","description":"Source files used for an introduction to Twisted","clone_url":"https://github.com/jdavisp3/twisted-intro.git","ssh_url":"git@github.com:jdavisp3/twisted-intro.git","html_url":"https://github.com/jdavisp3/twisted-intro","created_at":"2009-08-09T17:54:00Z","id":273325,"open_issues":0},{"pushed_at":"2012-04-05T21:13:31Z","git_url":"git://github.com/github/markup.git","updated_at":"2012-05-22T15:20:07Z","homepage":"","url":"https://api.github.com/repos/github/markup","has_downloads":false,"watchers":799,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/github/markup","has_wiki":false,"has_issues":true,"size":356,"private":false,"forks":240,"owner":{"url":"https://api.github.com/users/github","login":"github","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":9919},"name":"markup","language":"Ruby","description":"The code we use to render README.your_favorite_markup","clone_url":"https://github.com/github/markup.git","ssh_url":"git@github.com:github/markup.git","html_url":"https://github.com/github/markup","created_at":"2009-10-31T01:02:46Z","id":355893,"open_issues":84},{"pushed_at":"2012-05-08T13:37:09Z","git_url":"git://github.com/defunkt/hub.git","updated_at":"2012-05-22T17:05:30Z","homepage":"http://defunkt.io/hub/","url":"https://api.github.com/repos/defunkt/hub","has_downloads":false,"watchers":1171,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/defunkt/hub","has_wiki":false,"has_issues":true,"size":268,"private":false,"forks":87,"owner":{"url":"https://api.github.com/users/defunkt","login":"defunkt","gravatar_id":"b8dbb1987e8e5318584865f880036796","avatar_url":"https://secure.gravatar.com/avatar/b8dbb1987e8e5318584865f880036796?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":2},"name":"hub","language":"Ruby","description":"hub introduces git to GitHub","clone_url":"https://github.com/defunkt/hub.git","ssh_url":"git@github.com:defunkt/hub.git","html_url":"https://github.com/defunkt/hub","created_at":"2009-12-05T22:15:25Z","id":401025,"open_issues":13},{"pushed_at":"2012-02-14T13:11:04Z","git_url":"git://github.com/nvie/gitflow.git","updated_at":"2012-05-22T14:27:59Z","homepage":"http://nvie.com/posts/a-successful-git-branching-model/","url":"https://api.github.com/repos/nvie/gitflow","has_downloads":true,"watchers":3935,"permissions":{"pull":true,"admin":false,"push":false},"master_branch":"develop","mirror_url":null,"fork":false,"svn_url":"https://github.com/nvie/gitflow","has_wiki":true,"has_issues":true,"size":4602,"private":false,"forks":322,"owner":{"url":"https://api.github.com/users/nvie","login":"nvie","gravatar_id":"c5a7f21b46df698f3db31c37ed0cf55a","avatar_url":"https://secure.gravatar.com/avatar/c5a7f21b46df698f3db31c37ed0cf55a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":83844},"name":"gitflow","language":"Shell","description":"Git extensions to provide high-level repository operations for Vincent Driessen's branching model.","clone_url":"https://github.com/nvie/gitflow.git","ssh_url":"git@github.com:nvie/gitflow.git","html_url":"https://github.com/nvie/gitflow","created_at":"2010-01-20T23:14:12Z","id":481366,"open_issues":92},{"pushed_at":"2011-10-18T00:40:07Z","git_url":"git://github.com/lg/murder.git","updated_at":"2012-05-21T20:34:31Z","homepage":"http://twitter.com","url":"https://api.github.com/repos/lg/murder","has_downloads":true,"watchers":1226,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/lg/murder","has_wiki":true,"has_issues":true,"size":1228,"private":false,"forks":53,"owner":{"url":"https://api.github.com/users/lg","login":"lg","gravatar_id":"f2583cecbd75c5999bf65d9eeb6a84f2","avatar_url":"https://secure.gravatar.com/avatar/f2583cecbd75c5999bf65d9eeb6a84f2?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":181018},"name":"murder","language":"Python","description":"Large scale server deploys using BitTorrent and the BitTornado library","clone_url":"https://github.com/lg/murder.git","ssh_url":"git@github.com:lg/murder.git","html_url":"https://github.com/lg/murder","created_at":"2010-01-21T07:05:36Z","id":481811,"open_issues":8},{"pushed_at":"2012-05-20T07:40:27Z","git_url":"git://github.com/boto/boto.git","updated_at":"2012-05-21T21:35:47Z","homepage":"http://docs.pythonboto.org/","url":"https://api.github.com/repos/boto/boto","has_downloads":true,"watchers":1537,"permissions":{"pull":true,"admin":false,"push":false},"master_branch":"develop","mirror_url":null,"fork":false,"svn_url":"https://github.com/boto/boto","has_wiki":true,"has_issues":true,"size":4183,"private":false,"forks":396,"owner":{"url":"https://api.github.com/users/boto","login":"boto","gravatar_id":"9062d6f913c867ce042928d6637abd05","avatar_url":"https://secure.gravatar.com/avatar/9062d6f913c867ce042928d6637abd05?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":327752},"name":"boto","language":"Python","description":"Python interface to Amazon Web Services","clone_url":"https://github.com/boto/boto.git","ssh_url":"git@github.com:boto/boto.git","html_url":"https://github.com/boto/boto","created_at":"2010-07-12T19:15:33Z","id":771016,"open_issues":136},{"pushed_at":"2012-05-22T16:26:22Z","git_url":"git://github.com/rtyley/agit.git","updated_at":"2012-05-22T16:26:25Z","homepage":"https://market.android.com/details?id=com.madgag.agit","url":"https://api.github.com/repos/rtyley/agit","has_downloads":true,"watchers":206,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/rtyley/agit","has_wiki":true,"has_issues":true,"size":1204,"private":false,"forks":41,"owner":{"url":"https://api.github.com/users/rtyley","login":"rtyley","gravatar_id":"1cdc781dd667a5d4b61340591bf1bef4","avatar_url":"https://secure.gravatar.com/avatar/1cdc781dd667a5d4b61340591bf1bef4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":52038},"name":"agit","language":"Java","description":"Agit - Git client for Android","clone_url":"https://github.com/rtyley/agit.git","ssh_url":"git@github.com:rtyley/agit.git","html_url":"https://github.com/rtyley/agit","created_at":"2010-08-29T21:45:54Z","id":870849,"open_issues":36},{"pushed_at":"2012-05-17T19:11:22Z","git_url":"git://github.com/mbostock/d3.git","updated_at":"2012-05-22T14:38:42Z","homepage":"http://d3js.org","url":"https://api.github.com/repos/mbostock/d3","has_downloads":true,"watchers":5938,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/mbostock/d3","has_wiki":true,"has_issues":true,"size":3268,"private":false,"forks":678,"owner":{"url":"https://api.github.com/users/mbostock","login":"mbostock","gravatar_id":"005a27e09fe946ebef64bf4d134efc0a","avatar_url":"https://secure.gravatar.com/avatar/005a27e09fe946ebef64bf4d134efc0a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":230541},"name":"d3","language":"JavaScript","description":"A JavaScript visualization library for HTML and SVG.","clone_url":"https://github.com/mbostock/d3.git","ssh_url":"git@github.com:mbostock/d3.git","html_url":"https://github.com/mbostock/d3","created_at":"2010-09-27T17:22:42Z","id":943149,"open_issues":110},{"pushed_at":"2012-05-21T16:21:43Z","git_url":"git://github.com/libgit2/pygit2.git","updated_at":"2012-05-22T13:11:06Z","homepage":"","url":"https://api.github.com/repos/libgit2/pygit2","has_downloads":true,"watchers":205,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/libgit2/pygit2","has_wiki":false,"has_issues":true,"size":156,"private":false,"forks":43,"owner":{"url":"https://api.github.com/users/libgit2","login":"libgit2","gravatar_id":"1c56acccc41c591705dc92da5f6ab603","avatar_url":"https://secure.gravatar.com/avatar/1c56acccc41c591705dc92da5f6ab603?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":394745},"name":"pygit2","language":"C","description":"Python bindings for libgit2","clone_url":"https://github.com/libgit2/pygit2.git","ssh_url":"git@github.com:libgit2/pygit2.git","html_url":"https://github.com/libgit2/pygit2","created_at":"2010-11-08T16:27:48Z","id":1062237,"open_issues":11},{"pushed_at":"2011-10-28T07:11:56Z","git_url":"git://github.com/schacon/git-pulls.git","updated_at":"2012-05-13T12:16:08Z","homepage":"","url":"https://api.github.com/repos/schacon/git-pulls","has_downloads":true,"watchers":173,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/schacon/git-pulls","has_wiki":true,"has_issues":true,"size":1004,"private":false,"forks":21,"owner":{"url":"https://api.github.com/users/schacon","login":"schacon","gravatar_id":"9375a9529679f1b42b567a640d775e7d","avatar_url":"https://secure.gravatar.com/avatar/9375a9529679f1b42b567a640d775e7d?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":70},"name":"git-pulls","language":"Ruby","description":"command line tool to facilitate github pull requests","clone_url":"https://github.com/schacon/git-pulls.git","ssh_url":"git@github.com:schacon/git-pulls.git","html_url":"https://github.com/schacon/git-pulls","created_at":"2010-12-27T20:39:24Z","id":1201343,"open_issues":11},{"pushed_at":"2011-04-01T11:33:23Z","git_url":"git://github.com/emesik/django_mathlatex.git","updated_at":"2011-11-03T17:46:24Z","homepage":"","url":"https://api.github.com/repos/emesik/django_mathlatex","has_downloads":true,"watchers":3,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/emesik/django_mathlatex","has_wiki":true,"has_issues":true,"size":448,"private":false,"forks":1,"owner":{"url":"https://api.github.com/users/emesik","login":"emesik","gravatar_id":"0d0c6eda804f912d230df91577e29180","avatar_url":"https://secure.gravatar.com/avatar/0d0c6eda804f912d230df91577e29180?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":407107},"name":"django_mathlatex","language":"Python","description":"Django template tag for rendering math formulas","clone_url":"https://github.com/emesik/django_mathlatex.git","ssh_url":"git@github.com:emesik/django_mathlatex.git","html_url":"https://github.com/emesik/django_mathlatex","created_at":"2011-03-06T22:29:04Z","id":1447846,"open_issues":0},{"pushed_at":"2012-02-08T00:38:52Z","git_url":"git://github.com/aliasaria/scrumblr.git","updated_at":"2012-05-17T22:11:28Z","homepage":"http://scrumblr.ca","url":"https://api.github.com/repos/aliasaria/scrumblr","has_downloads":true,"watchers":464,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/aliasaria/scrumblr","has_wiki":true,"has_issues":true,"size":132,"private":false,"forks":50,"owner":{"url":"https://api.github.com/users/aliasaria","login":"aliasaria","gravatar_id":"a08f4e2d6ccccab586b502992c31e2ce","avatar_url":"https://secure.gravatar.com/avatar/a08f4e2d6ccccab586b502992c31e2ce?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":213343},"name":"scrumblr","language":"JavaScript","description":"Collaborative Online Scrum Tool Using Websockets, Node.js, jQuery, and CSS3","clone_url":"https://github.com/aliasaria/scrumblr.git","ssh_url":"git@github.com:aliasaria/scrumblr.git","html_url":"https://github.com/aliasaria/scrumblr","created_at":"2011-03-10T02:29:38Z","id":1461917,"open_issues":14},{"pushed_at":"2012-05-11T17:11:10Z","git_url":"git://github.com/github/developer.github.com.git","updated_at":"2012-05-20T11:16:45Z","homepage":"http://developer.github.com","url":"https://api.github.com/repos/github/developer.github.com","has_downloads":true,"watchers":249,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/github/developer.github.com","has_wiki":false,"has_issues":false,"size":212,"private":false,"forks":119,"owner":{"url":"https://api.github.com/users/github","login":"github","gravatar_id":"61024896f291303615bcd4f7a0dcfb74","avatar_url":"https://secure.gravatar.com/avatar/61024896f291303615bcd4f7a0dcfb74?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":9919},"name":"developer.github.com","language":"Ruby","description":"GitHub API documentation","clone_url":"https://github.com/github/developer.github.com.git","ssh_url":"git@github.com:github/developer.github.com.git","html_url":"https://github.com/github/developer.github.com","created_at":"2011-04-26T19:20:56Z","id":1666784,"open_issues":10},{"pushed_at":"2011-11-22T18:10:52Z","git_url":"git://github.com/ChristopherMacGown/python-github3.git","updated_at":"2012-03-08T13:38:12Z","homepage":"","url":"https://api.github.com/repos/ChristopherMacGown/python-github3","has_downloads":true,"watchers":20,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/ChristopherMacGown/python-github3","has_wiki":true,"has_issues":true,"size":236,"private":false,"forks":11,"owner":{"url":"https://api.github.com/users/ChristopherMacGown","login":"ChristopherMacGown","gravatar_id":"4174216c1dc0f223ce608d5a3b66a585","avatar_url":"https://secure.gravatar.com/avatar/4174216c1dc0f223ce608d5a3b66a585?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":43081},"name":"python-github3","language":"Python","description":"Github API v3 library for Python.","clone_url":"https://github.com/ChristopherMacGown/python-github3.git","ssh_url":"git@github.com:ChristopherMacGown/python-github3.git","html_url":"https://github.com/ChristopherMacGown/python-github3","created_at":"2011-04-28T17:07:29Z","id":1676748,"open_issues":1},{"pushed_at":"2012-02-02T09:38:42Z","git_url":"git://github.com/pjkersten/PlantUML.git","updated_at":"2012-02-06T15:26:40Z","homepage":"","url":"https://api.github.com/repos/pjkersten/PlantUML","has_downloads":true,"watchers":5,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/pjkersten/PlantUML","has_wiki":true,"has_issues":true,"size":124,"private":false,"forks":2,"owner":{"url":"https://api.github.com/users/pjkersten","login":"pjkersten","gravatar_id":"6e33170f0701d1d1d8dd57c8f95368ef","avatar_url":"https://secure.gravatar.com/avatar/6e33170f0701d1d1d8dd57c8f95368ef?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":771883},"name":"PlantUML","language":"PHP","description":"PlantUML plugin for MediaWiki","clone_url":"https://github.com/pjkersten/PlantUML.git","ssh_url":"git@github.com:pjkersten/PlantUML.git","html_url":"https://github.com/pjkersten/PlantUML","created_at":"2011-05-06T09:33:38Z","id":1710505,"open_issues":0},{"pushed_at":"2012-05-18T05:00:54Z","git_url":"git://github.com/twitter/bootstrap.git","updated_at":"2012-05-22T17:13:54Z","homepage":"http://twitter.github.com/bootstrap","url":"https://api.github.com/repos/twitter/bootstrap","has_downloads":true,"watchers":29252,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/twitter/bootstrap","has_wiki":true,"has_issues":true,"size":1244,"private":false,"forks":5738,"owner":{"url":"https://api.github.com/users/twitter","login":"twitter","gravatar_id":"74e977ae0a10f06057a119eef30c6660","avatar_url":"https://secure.gravatar.com/avatar/74e977ae0a10f06057a119eef30c6660?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":50278},"name":"bootstrap","language":"JavaScript","description":"HTML, CSS, and JS toolkit from Twitter","clone_url":"https://github.com/twitter/bootstrap.git","ssh_url":"git@github.com:twitter/bootstrap.git","html_url":"https://github.com/twitter/bootstrap","created_at":"2011-07-29T21:19:00Z","id":2126244,"open_issues":221},{"pushed_at":"2011-08-01T10:26:00Z","git_url":"git://github.com/stephenmcd/drawnby.git","updated_at":"2012-04-30T11:48:56Z","homepage":"http://drawnby.jupo.org","url":"https://api.github.com/repos/stephenmcd/drawnby","has_downloads":true,"watchers":9,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/stephenmcd/drawnby","has_wiki":true,"has_issues":true,"size":672,"private":false,"forks":2,"owner":{"url":"https://api.github.com/users/stephenmcd","login":"stephenmcd","gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116385},"name":"drawnby","language":"JavaScript","description":"Drawn By is a collaborative real-time sketching app built for the 2011 Django Dash.","clone_url":"https://github.com/stephenmcd/drawnby.git","ssh_url":"git@github.com:stephenmcd/drawnby.git","html_url":"https://github.com/stephenmcd/drawnby","created_at":"2011-08-01T10:25:31Z","id":2136154,"open_issues":0},{"pushed_at":"2012-04-20T00:24:31Z","git_url":"git://github.com/stephenmcd/django-socketio.git","updated_at":"2012-05-22T12:45:54Z","homepage":"","url":"https://api.github.com/repos/stephenmcd/django-socketio","has_downloads":true,"watchers":261,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/stephenmcd/django-socketio","has_wiki":true,"has_issues":true,"size":160,"private":false,"forks":27,"owner":{"url":"https://api.github.com/users/stephenmcd","login":"stephenmcd","gravatar_id":"ce5bfd8756e2fae0e800bbea413e86b3","avatar_url":"https://secure.gravatar.com/avatar/ce5bfd8756e2fae0e800bbea413e86b3?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":116385},"name":"django-socketio","language":"JavaScript","description":"A Django app providing the features required to use websockets with Django via Socket.IO","clone_url":"https://github.com/stephenmcd/django-socketio.git","ssh_url":"git@github.com:stephenmcd/django-socketio.git","html_url":"https://github.com/stephenmcd/django-socketio","created_at":"2011-08-01T21:18:34Z","id":2139136,"open_issues":6},{"pushed_at":"2012-04-21T16:22:25Z","git_url":"git://github.com/jstasiak/django-realtime.git","updated_at":"2012-05-08T07:18:20Z","homepage":"","url":"https://api.github.com/repos/jstasiak/django-realtime","has_downloads":true,"watchers":15,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/jstasiak/django-realtime","has_wiki":true,"has_issues":true,"size":132,"private":false,"forks":2,"owner":{"url":"https://api.github.com/users/jstasiak","login":"jstasiak","gravatar_id":"93cdbd3d2a76da1adf727a6bc9fec1ed","avatar_url":"https://secure.gravatar.com/avatar/93cdbd3d2a76da1adf727a6bc9fec1ed?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":36209},"name":"django-realtime","language":"JavaScript","description":"Use this application to get Socket.IO support in your Django project and dive into real time web.","clone_url":"https://github.com/jstasiak/django-realtime.git","ssh_url":"git@github.com:jstasiak/django-realtime.git","html_url":"https://github.com/jstasiak/django-realtime","created_at":"2011-09-20T19:13:10Z","id":2424738,"open_issues":0},{"pushed_at":"2012-05-21T16:12:27Z","git_url":"git://github.com/AcmeSystems/playground.git","updated_at":"2012-05-21T16:12:27Z","homepage":"http://www.acmesystems.it","url":"https://api.github.com/repos/AcmeSystems/playground","has_downloads":true,"watchers":6,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/AcmeSystems/playground","has_wiki":true,"has_issues":true,"size":148,"private":false,"forks":3,"owner":{"url":"https://api.github.com/users/AcmeSystems","login":"AcmeSystems","gravatar_id":"af55714b265c4914c8bb8db49fc06da6","avatar_url":"https://secure.gravatar.com/avatar/af55714b265c4914c8bb8db49fc06da6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":783524},"name":"playground","language":"Python","description":"Small programming examples for the FOX Board G20","clone_url":"https://github.com/AcmeSystems/playground.git","ssh_url":"git@github.com:AcmeSystems/playground.git","html_url":"https://github.com/AcmeSystems/playground","created_at":"2011-10-17T16:16:10Z","id":2593052,"open_issues":0},{"pushed_at":"2011-11-07T14:55:19Z","git_url":"git://github.com/juuso/BozoCrack.git","updated_at":"2012-05-21T19:49:13Z","homepage":"","url":"https://api.github.com/repos/juuso/BozoCrack","has_downloads":true,"watchers":376,"permissions":{"pull":true,"admin":false,"push":false},"mirror_url":null,"fork":false,"svn_url":"https://github.com/juuso/BozoCrack","has_wiki":true,"has_issues":true,"size":140,"private":false,"forks":39,"owner":{"url":"https://api.github.com/users/juuso","login":"juuso","gravatar_id":"d3231546d42d67974fc51956a3b627f4","avatar_url":"https://secure.gravatar.com/avatar/d3231546d42d67974fc51956a3b627f4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":614446},"name":"BozoCrack","language":"Ruby","description":"A silly & effective MD5 cracker in Ruby","clone_url":"https://github.com/juuso/BozoCrack.git","ssh_url":"git@github.com:juuso/BozoCrack.git","html_url":"https://github.com/juuso/BozoCrack","created_at":"2011-11-07T13:02:08Z","id":2726128,"open_issues":8},{"pushed_at":null,"git_url":"git://github.com/BeaverSoftware/FatherBeaver.git","updated_at":"2012-02-16T21:51:15Z","homepage":"","url":"https://api.github.com/repos/BeaverSoftware/FatherBeaver","has_downloads":true,"watchers":2,"permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"fork":false,"svn_url":"https://github.com/BeaverSoftware/FatherBeaver","has_wiki":true,"has_issues":true,"size":0,"private":false,"forks":1,"owner":{"url":"https://api.github.com/users/BeaverSoftware","login":"BeaverSoftware","gravatar_id":"d563e337cac2fdc644e2aaaad1e23266","avatar_url":"https://secure.gravatar.com/avatar/d563e337cac2fdc644e2aaaad1e23266?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","id":1424031},"name":"FatherBeaver","language":null,"description":"","clone_url":"https://github.com/BeaverSoftware/FatherBeaver.git","ssh_url":"git@github.com:BeaverSoftware/FatherBeaver.git","html_url":"https://github.com/BeaverSoftware/FatherBeaver","created_at":"2012-02-09T19:32:21Z","id":3400397,"open_issues":0}] +GET /user/watched?page=2 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '4493'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('link', '; rel="first", ; rel="prev"'), ('etag', '"5894e9073dc54de74c439e23fc738fe7"'), ('date', 'Sat, 26 May 2012 10:36:30 GMT'), ('content-type', 'application/json; charset=utf-8')] +[{"clone_url":"https://github.com/abersager/PyGithub.git","has_downloads":true,"watchers":2,"updated_at":"2012-03-28T10:37:22Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/abersager/PyGithub","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":112,"private":false,"open_issues":0,"svn_url":"https://github.com/abersager/PyGithub","owner":{"url":"https://api.github.com/users/abersager","avatar_url":"https://secure.gravatar.com/avatar/b2e096f2c016d8dc168a3a5e6281b07a?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b2e096f2c016d8dc168a3a5e6281b07a","login":"abersager","id":1328351},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:abersager/PyGithub.git","git_url":"git://github.com/abersager/PyGithub.git","pushed_at":"2012-03-26T10:05:31Z","created_at":"2012-03-26T09:12:45Z","id":3831162,"mirror_url":null,"html_url":"https://github.com/abersager/PyGithub","full_name":"abersager/PyGithub"},{"clone_url":"https://github.com/django/django.git","has_downloads":true,"watchers":2391,"updated_at":"2012-05-26T10:30:33Z","permissions":{"pull":true,"admin":false,"push":false},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/django/django","has_wiki":false,"has_issues":false,"fork":false,"forks":263,"size":8408,"private":false,"open_issues":37,"svn_url":"https://github.com/django/django","owner":{"url":"https://api.github.com/users/django","avatar_url":"https://secure.gravatar.com/avatar/fd542381031aa84dca86628ece84fc07?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"fd542381031aa84dca86628ece84fc07","login":"django","id":27804},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:django/django.git","git_url":"git://github.com/django/django.git","pushed_at":"2012-05-26T09:54:24Z","created_at":"2012-04-28T02:47:18Z","id":4164482,"mirror_url":null,"html_url":"https://github.com/django/django","full_name":"django/django"},{"clone_url":"https://github.com/jacquev6/django.git","has_downloads":true,"watchers":1,"updated_at":"2012-04-28T11:06:20Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://www.djangoproject.com/","url":"https://api.github.com/repos/jacquev6/django","has_wiki":false,"has_issues":false,"fork":true,"forks":0,"size":48476,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/django","owner":{"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},"name":"django","language":"Python","description":"The Web framework for perfectionists with deadlines. Now on GitHub.","ssh_url":"git@github.com:jacquev6/django.git","git_url":"git://github.com/jacquev6/django.git","pushed_at":"2012-04-28T04:05:15Z","created_at":"2012-04-28T11:06:20Z","id":4166730,"mirror_url":null,"html_url":"https://github.com/jacquev6/django","full_name":"jacquev6/django"},{"clone_url":"https://github.com/jacquev6/TestPyGithub.git","has_downloads":false,"watchers":1,"updated_at":"2012-05-26T09:55:27Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://foobar.com","url":"https://api.github.com/repos/jacquev6/TestPyGithub","has_wiki":false,"has_issues":false,"fork":false,"forks":1,"size":0,"private":false,"open_issues":0,"svn_url":"https://github.com/jacquev6/TestPyGithub","owner":{"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},"name":"TestPyGithub","language":null,"description":"Repo created by PyGithub","ssh_url":"git@github.com:jacquev6/TestPyGithub.git","git_url":"git://github.com/jacquev6/TestPyGithub.git","pushed_at":"2012-05-26T09:55:27Z","created_at":"2012-05-26T09:55:27Z","id":4454027,"mirror_url":null,"html_url":"https://github.com/jacquev6/TestPyGithub","full_name":"jacquev6/TestPyGithub"}] + GET /user/watched/nvie/gitflow {'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', 'Tue, 22 May 2012 17:15:06 GMT')] diff --git a/test/ReplayData/Authorization.testAttributes.txt b/test/ReplayData/Authorization.setUp.txt similarity index 100% rename from test/ReplayData/Authorization.testAttributes.txt rename to test/ReplayData/Authorization.setUp.txt diff --git a/test/ReplayData/Authorization.testDelete.txt b/test/ReplayData/Authorization.testDelete.txt index d989fe61..4e9155c0 100644 --- a/test/ReplayData/Authorization.testDelete.txt +++ b/test/ReplayData/Authorization.testDelete.txt @@ -1,8 +1,3 @@ -GET /authorizations/372259 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '382'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b8bb361ff6ba9494c7048b49cfb8a936"'), ('date', 'Tue, 22 May 2012 18:25:51 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"scopes":["user"],"updated_at":"2012-05-22T18:24:11Z","app":{"url":"http://vincent-jacques.net/PyGithub","name":"Note created by PyGithub (API)"},"url":"https://api.github.com/authorizations/372259","note_url":"http://vincent-jacques.net/PyGithub","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":"Note created by PyGithub","created_at":"2012-05-22T18:03:17Z","id":372259} - DELETE /authorizations/372259 {'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', 'Tue, 22 May 2012 18:25:53 GMT')] diff --git a/test/ReplayData/Authorization.testEdit.txt b/test/ReplayData/Authorization.testEdit.txt index dc7b248e..1a29e55d 100644 --- a/test/ReplayData/Authorization.testEdit.txt +++ b/test/ReplayData/Authorization.testEdit.txt @@ -1,8 +1,3 @@ -GET /authorizations/372259 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '328'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ffd2e8e65bd915f786ed4b9f9e8aff50"'), ('date', 'Tue, 22 May 2012 18:24:08 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"scopes":[],"updated_at":"2012-05-22T18:03:17Z","app":{"url":"http://developer.github.com/v3/oauth/#oauth-authorizations-api","name":"GitHub API"},"url":"https://api.github.com/authorizations/372259","token":"82459c4500086f8f0cc67d2936c17d1e27ad1c33","note":null,"note_url":null,"created_at":"2012-05-22T18:03:17Z","id":372259} - PATCH /authorizations/372259 {'Authorization': 'Basic login_and_password_removed'} {} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '328'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"39fec03a7cbd97abde96cccbd1921277"'), ('date', 'Tue, 22 May 2012 18:24:09 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/test/ReplayData/Branch.setUp.txt b/test/ReplayData/Branch.setUp.txt index 699c9b0f..a41d511f 100644 --- a/test/ReplayData/Branch.setUp.txt +++ b/test/ReplayData/Branch.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c5eec74d4b76b80283636a8efe1a132c"'), ('date', 'Fri, 18 May 2012 20:12:20 GMT'), ('content-type', 'application/json; charset=utf-8')] {"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} +GET /repos/jacquev6/PyGithub/branches {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '769'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2dada6dafd332016bcdf06e42487e520"'), ('date', 'Thu, 10 May 2012 13:56:55 GMT'), ('content-type', 'application/json; charset=utf-8')] +[{"name":"topic/RewriteWithGeneratedCode","commit":{"sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a"}},{"name":"master","commit":{"sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495"}},{"name":"topic/DependencyGraph","commit":{"sha":"05157f11f29a3ac057e35d2487880c5d08bd69af","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/05157f11f29a3ac057e35d2487880c5d08bd69af"}},{"name":"develop","commit":{"sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495"}}] + diff --git a/test/ReplayData/Branch.testCommitComments.txt b/test/ReplayData/Branch.testCommitComments.txt deleted file mode 100644 index 2861f1cf..00000000 --- a/test/ReplayData/Branch.testCommitComments.txt +++ /dev/null @@ -1,15 +0,0 @@ -GET /repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '30760'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5c413a904f06e72807514c681d10bed6"'), ('date', 'Fri, 18 May 2012 20:12:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"author":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d","stats":{"deletions":53,"additions":48,"total":101},"committer":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"files":[{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py","changes":2,"deletions":1,"filename":"codegen/templates/GithubObject.MethodBody.UseResult.py","patch":"@@ -23,7 +23,7 @@\n {% else %}\r\n \r\n {% if method.type.cardinality == \"scalar\" %}\r\n- return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = LazyCompletion )\r\n+ return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = NoCompletion )\r\n {% endif %}\r\n \r\n {% if method.type.cardinality == \"list\" %}\r","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py","changes":16,"deletions":8,"filename":"src/github/AuthenticatedUser.py","patch":"@@ -187,7 +187,7 @@ def create_authorization( self, scopes = DefaultValueForOptionalParameters, note\n None,\n post_parameters\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self, repo ):\n status, headers, data = self.__requester.request(\n@@ -196,7 +196,7 @@ def create_fork( self, repo ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_gist( self, public, files, description = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -211,7 +211,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -224,7 +224,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -250,7 +250,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, hireable = DefaultValueForOptionalParameters, bio = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -284,7 +284,7 @@ def get_authorization( self, id ):\n None,\n None\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def get_authorizations( self ):\n status, headers, data = self.__requester.request(\n@@ -386,7 +386,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -437,7 +437,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":8,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py","changes":2,"deletions":1,"filename":"src/github/Commit.py","patch":"@@ -77,7 +77,7 @@ def create_comment( self, body, commit_id = DefaultValueForOptionalParameters, l\n None,\n post_parameters\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py","changes":6,"deletions":3,"filename":"src/github/Gist.py","patch":"@@ -96,7 +96,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self ):\n status, headers, data = self.__requester.request(\n@@ -105,7 +105,7 @@ def create_fork( self ):\n None,\n None\n )\n- return Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist( self.__requester, data, completion = NoCompletion )\n \n def delete( self ):\n status, headers, data = self.__requester.request(\n@@ -137,7 +137,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":3,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py","changes":4,"deletions":2,"filename":"src/github/Issue.py","patch":"@@ -122,7 +122,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def delete_labels( self ):\n pass\n@@ -157,7 +157,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py","changes":4,"deletions":2,"filename":"src/github/NamedUser.py","patch":"@@ -161,7 +161,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def get_events( self ):\n status, headers, data = self.__requester.request(\n@@ -282,7 +282,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py","changes":8,"deletions":4,"filename":"src/github/Organization.py","patch":"@@ -156,7 +156,7 @@ def create_fork( self, repo ):\n url_parameters,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -182,7 +182,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_team( self, name, repo_names = DefaultValueForOptionalParameters, permission = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -198,7 +198,7 @@ def create_team( self, name, repo_names = DefaultValueForOptionalParameters, per\n None,\n post_parameters\n )\n- return Team.Team( self.__requester, data, completion = LazyCompletion )\n+ return Team.Team( self.__requester, data, completion = NoCompletion )\n \n def edit( self, billing_email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, name = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -272,7 +272,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":4,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py","changes":2,"deletions":1,"filename":"src/github/PullRequest.py","patch":"@@ -171,7 +171,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return PullRequestComment.PullRequestComment( self.__requester, data, completion = LazyCompletion )\n+ return PullRequestComment.PullRequestComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py","changes":52,"deletions":26,"filename":"src/github/Repository.py","patch":"@@ -218,7 +218,7 @@ def create_download( self, name, size, description = DefaultValueForOptionalPara\n None,\n post_parameters\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def create_git_blob( self, content, encoding ):\n post_parameters = {\n@@ -231,7 +231,7 @@ def create_git_blob( self, content, encoding ):\n None,\n post_parameters\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def create_git_commit( self, message, tree, parents, author = DefaultValueForOptionalParameters, committer = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -249,7 +249,7 @@ def create_git_commit( self, message, tree, parents, author = DefaultValueForOpt\n None,\n post_parameters\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def create_git_ref( self, ref, sha ):\n post_parameters = {\n@@ -262,7 +262,7 @@ def create_git_ref( self, ref, sha ):\n None,\n post_parameters\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -279,7 +279,7 @@ def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOp\n None,\n post_parameters\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -293,7 +293,7 @@ def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters )\n None,\n post_parameters\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def create_hook( self, name, config, events = DefaultValueForOptionalParameters, active = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -310,7 +310,7 @@ def create_hook( self, name, config, events = DefaultValueForOptionalParameters,\n None,\n post_parameters\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def create_issue( self, title, body = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, milestone = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -330,7 +330,7 @@ def create_issue( self, title, body = DefaultValueForOptionalParameters, assigne\n None,\n post_parameters\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -343,7 +343,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def create_label( self, name, color ):\n post_parameters = {\n@@ -356,7 +356,7 @@ def create_label( self, name, color ):\n None,\n post_parameters\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def create_milestone( self, title, state = DefaultValueForOptionalParameters, description = DefaultValueForOptionalParameters, due_on = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -374,7 +374,7 @@ def create_milestone( self, title, state = DefaultValueForOptionalParameters, de\n None,\n post_parameters\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, public = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -435,7 +435,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(\n@@ -458,7 +458,7 @@ def get_commit( self, sha ):\n None,\n None\n )\n- return Commit.Commit( self.__requester, data, completion = LazyCompletion )\n+ return Commit.Commit( self.__requester, data, completion = NoCompletion )\n \n def get_commits( self, sha = DefaultValueForOptionalParameters, path = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -495,7 +495,7 @@ def get_download( self, id ):\n None,\n None\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def get_downloads( self ):\n status, headers, data = self.__requester.request(\n@@ -546,7 +546,7 @@ def get_git_blob( self, sha ):\n None,\n None\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def get_git_commit( self, sha ):\n status, headers, data = self.__requester.request(\n@@ -555,7 +555,7 @@ def get_git_commit( self, sha ):\n None,\n None\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def get_git_ref( self, ref ):\n status, headers, data = self.__requester.request(\n@@ -564,7 +564,7 @@ def get_git_ref( self, ref ):\n None,\n None\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def get_git_refs( self ):\n status, headers, data = self.__requester.request(\n@@ -587,7 +587,7 @@ def get_git_tag( self, sha ):\n None,\n None\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -596,7 +596,7 @@ def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n None,\n None\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def get_hook( self, id ):\n status, headers, data = self.__requester.request(\n@@ -605,7 +605,7 @@ def get_hook( self, id ):\n None,\n None\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def get_hooks( self ):\n status, headers, data = self.__requester.request(\n@@ -628,7 +628,7 @@ def get_issue( self, number ):\n None,\n None\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def get_issues( self, milestone = DefaultValueForOptionalParameters, state = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, mentioned = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters, since = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -651,7 +651,7 @@ def get_issues_event( self, id ):\n None,\n None\n )\n- return IssueEvent.IssueEvent( self.__requester, data, completion = LazyCompletion )\n+ return IssueEvent.IssueEvent( self.__requester, data, completion = NoCompletion )\n \n def get_issues_events( self ):\n status, headers, data = self.__requester.request(\n@@ -674,7 +674,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -697,7 +697,7 @@ def get_label( self, name ):\n None,\n None\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def get_labels( self ):\n status, headers, data = self.__requester.request(\n@@ -729,7 +729,7 @@ def get_milestone( self, number ):\n None,\n None\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def get_milestones( self, state = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -766,7 +766,7 @@ def get_pull( self, number ):\n None,\n None\n )\n- return PullRequest.PullRequest( self.__requester, data, completion = LazyCompletion )\n+ return PullRequest.PullRequest( self.__requester, data, completion = NoCompletion )\n \n def get_pulls( self, state = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":26,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"},{"raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt","status":"modified","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt","changes":5,"deletions":5,"filename":"test/ReplayData/Repository.testAttributes.txt","patch":"@@ -3,8 +3,3 @@ GET /repos/jacquev6/PyGithub {} null\n [('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n {\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n \r\n-GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null\r\n-200\r\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n-{\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n-\r","additions":0,"sha":"6945921c529be14c3a8f566dd1e483674516d46d"}],"sha":"6945921c529be14c3a8f566dd1e483674516d46d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a72d8b135841aa00158054d229c8e18333075cd4","sha":"a72d8b135841aa00158054d229c8e18333075cd4"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6945921c529be14c3a8f566dd1e483674516d46d","message":"Use NoCompletion when creating an object from the result of a request","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/793ba5982623f4723ad63706da9a483ac82b3411","sha":"793ba5982623f4723ad63706da9a483ac82b3411"}}} - -GET /repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d/comments {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '4322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9000a379c4d5eba3527a002d2bbc2e0c"'), ('date', 'Fri, 18 May 2012 20:12:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"updated_at":"2012-05-18T08:46:09Z","position":null,"body":"probably a noob question: does this completion refer to autocompletion in IDE's/editors? \nI have observed that this is pretty erratic sometimes. I'm using PyDev+Eclipse.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to NamedUsers/AuthenticatedUser, really) does not show autocompletion to `g.get_user().get_repo()`. Is that by design? It makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347033","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347033","created_at":"2012-05-18T08:46:09Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":1347033},{"updated_at":"2012-05-18T09:03:40Z","position":null,"body":"No, it has nothing to do with auto-completion in IDEs :D\n\nGithub API v3 sends only the main part of objects in reply to some requests. So, if the user wants an attribute that has not been received yet, I have to do another request to complete the object.\n\nYet, in version 1.0 (see the milesone), my library will be much more readable for IDEs and their auto-completion mechanisms, because I am giving up the meta-description that I used until 0.6, and I'm now generating much more traditional code, that you will be able to explore as if it was written manually.\n\nIf you want to take the time to open an issue about auto-completion in IDEs, I'll deal with it in milestone 1.0.\n\nThanks !","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347083","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347083","created_at":"2012-05-18T08:59:28Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":1347083},{"updated_at":"2012-05-18T10:55:55Z","position":null,"body":"Ah, thanks for the clarification. :blush:\n\nI made issue #27 for the autocompletion. I already suspected something like this meta-description magic, since I tried to read some of the code and it was pretty arcane. I attributed that to my pythonic noobness, though. Thank you. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347397","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347397","created_at":"2012-05-18T10:54:23Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":1347397},{"updated_at":"2012-05-18T20:11:17Z","position":3,"body":"This comment is here only to test PyGithub...","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1349654","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1349654","created_at":"2012-05-18T20:11:17Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":25,"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":1349654}] - -GET /repos/jacquev6/PyGithub/comments/1347033 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '1187'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"15d2a14ce43033de36bfd8e6f0ceb47d"'), ('date', 'Fri, 18 May 2012 20:12:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-18T08:46:09Z","position":null,"body":"probably a noob question: does this completion refer to autocompletion in IDE's/editors? \nI have observed that this is pretty erratic sometimes. I'm using PyDev+Eclipse.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to NamedUsers/AuthenticatedUser, really) does not show autocompletion to `g.get_user().get_repo()`. Is that by design? It makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347033","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1347033","created_at":"2012-05-18T08:46:09Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":1347033} - diff --git a/test/ReplayData/Branch.testCreateCommitComment.txt b/test/ReplayData/Branch.testCreateCommitComment.txt deleted file mode 100644 index 18338835..00000000 --- a/test/ReplayData/Branch.testCreateCommitComment.txt +++ /dev/null @@ -1,10 +0,0 @@ -GET /repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4983'), ('content-length', '30760'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d31220c0403c4867fcb5dd6360b717a7"'), ('date', 'Tue, 22 May 2012 18:40:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"author":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d","stats":{"deletions":53,"additions":48,"total":101},"committer":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"files":[{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py","changes":2,"deletions":1,"filename":"codegen/templates/GithubObject.MethodBody.UseResult.py","patch":"@@ -23,7 +23,7 @@\n {% else %}\r\n \r\n {% if method.type.cardinality == \"scalar\" %}\r\n- return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = LazyCompletion )\r\n+ return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = NoCompletion )\r\n {% endif %}\r\n \r\n {% if method.type.cardinality == \"list\" %}\r","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py","changes":16,"deletions":8,"filename":"src/github/AuthenticatedUser.py","patch":"@@ -187,7 +187,7 @@ def create_authorization( self, scopes = DefaultValueForOptionalParameters, note\n None,\n post_parameters\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self, repo ):\n status, headers, data = self.__requester.request(\n@@ -196,7 +196,7 @@ def create_fork( self, repo ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_gist( self, public, files, description = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -211,7 +211,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -224,7 +224,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -250,7 +250,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, hireable = DefaultValueForOptionalParameters, bio = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -284,7 +284,7 @@ def get_authorization( self, id ):\n None,\n None\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def get_authorizations( self ):\n status, headers, data = self.__requester.request(\n@@ -386,7 +386,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -437,7 +437,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":8,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py","changes":2,"deletions":1,"filename":"src/github/Commit.py","patch":"@@ -77,7 +77,7 @@ def create_comment( self, body, commit_id = DefaultValueForOptionalParameters, l\n None,\n post_parameters\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py","changes":6,"deletions":3,"filename":"src/github/Gist.py","patch":"@@ -96,7 +96,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self ):\n status, headers, data = self.__requester.request(\n@@ -105,7 +105,7 @@ def create_fork( self ):\n None,\n None\n )\n- return Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist( self.__requester, data, completion = NoCompletion )\n \n def delete( self ):\n status, headers, data = self.__requester.request(\n@@ -137,7 +137,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":3,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py","changes":4,"deletions":2,"filename":"src/github/Issue.py","patch":"@@ -122,7 +122,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def delete_labels( self ):\n pass\n@@ -157,7 +157,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py","changes":4,"deletions":2,"filename":"src/github/NamedUser.py","patch":"@@ -161,7 +161,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def get_events( self ):\n status, headers, data = self.__requester.request(\n@@ -282,7 +282,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py","changes":8,"deletions":4,"filename":"src/github/Organization.py","patch":"@@ -156,7 +156,7 @@ def create_fork( self, repo ):\n url_parameters,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -182,7 +182,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_team( self, name, repo_names = DefaultValueForOptionalParameters, permission = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -198,7 +198,7 @@ def create_team( self, name, repo_names = DefaultValueForOptionalParameters, per\n None,\n post_parameters\n )\n- return Team.Team( self.__requester, data, completion = LazyCompletion )\n+ return Team.Team( self.__requester, data, completion = NoCompletion )\n \n def edit( self, billing_email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, name = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -272,7 +272,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":4,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py","changes":2,"deletions":1,"filename":"src/github/PullRequest.py","patch":"@@ -171,7 +171,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return PullRequestComment.PullRequestComment( self.__requester, data, completion = LazyCompletion )\n+ return PullRequestComment.PullRequestComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py","changes":52,"deletions":26,"filename":"src/github/Repository.py","patch":"@@ -218,7 +218,7 @@ def create_download( self, name, size, description = DefaultValueForOptionalPara\n None,\n post_parameters\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def create_git_blob( self, content, encoding ):\n post_parameters = {\n@@ -231,7 +231,7 @@ def create_git_blob( self, content, encoding ):\n None,\n post_parameters\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def create_git_commit( self, message, tree, parents, author = DefaultValueForOptionalParameters, committer = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -249,7 +249,7 @@ def create_git_commit( self, message, tree, parents, author = DefaultValueForOpt\n None,\n post_parameters\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def create_git_ref( self, ref, sha ):\n post_parameters = {\n@@ -262,7 +262,7 @@ def create_git_ref( self, ref, sha ):\n None,\n post_parameters\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -279,7 +279,7 @@ def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOp\n None,\n post_parameters\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -293,7 +293,7 @@ def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters )\n None,\n post_parameters\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def create_hook( self, name, config, events = DefaultValueForOptionalParameters, active = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -310,7 +310,7 @@ def create_hook( self, name, config, events = DefaultValueForOptionalParameters,\n None,\n post_parameters\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def create_issue( self, title, body = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, milestone = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -330,7 +330,7 @@ def create_issue( self, title, body = DefaultValueForOptionalParameters, assigne\n None,\n post_parameters\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -343,7 +343,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def create_label( self, name, color ):\n post_parameters = {\n@@ -356,7 +356,7 @@ def create_label( self, name, color ):\n None,\n post_parameters\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def create_milestone( self, title, state = DefaultValueForOptionalParameters, description = DefaultValueForOptionalParameters, due_on = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -374,7 +374,7 @@ def create_milestone( self, title, state = DefaultValueForOptionalParameters, de\n None,\n post_parameters\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, public = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -435,7 +435,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(\n@@ -458,7 +458,7 @@ def get_commit( self, sha ):\n None,\n None\n )\n- return Commit.Commit( self.__requester, data, completion = LazyCompletion )\n+ return Commit.Commit( self.__requester, data, completion = NoCompletion )\n \n def get_commits( self, sha = DefaultValueForOptionalParameters, path = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -495,7 +495,7 @@ def get_download( self, id ):\n None,\n None\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def get_downloads( self ):\n status, headers, data = self.__requester.request(\n@@ -546,7 +546,7 @@ def get_git_blob( self, sha ):\n None,\n None\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def get_git_commit( self, sha ):\n status, headers, data = self.__requester.request(\n@@ -555,7 +555,7 @@ def get_git_commit( self, sha ):\n None,\n None\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def get_git_ref( self, ref ):\n status, headers, data = self.__requester.request(\n@@ -564,7 +564,7 @@ def get_git_ref( self, ref ):\n None,\n None\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def get_git_refs( self ):\n status, headers, data = self.__requester.request(\n@@ -587,7 +587,7 @@ def get_git_tag( self, sha ):\n None,\n None\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -596,7 +596,7 @@ def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n None,\n None\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def get_hook( self, id ):\n status, headers, data = self.__requester.request(\n@@ -605,7 +605,7 @@ def get_hook( self, id ):\n None,\n None\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def get_hooks( self ):\n status, headers, data = self.__requester.request(\n@@ -628,7 +628,7 @@ def get_issue( self, number ):\n None,\n None\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def get_issues( self, milestone = DefaultValueForOptionalParameters, state = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, mentioned = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters, since = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -651,7 +651,7 @@ def get_issues_event( self, id ):\n None,\n None\n )\n- return IssueEvent.IssueEvent( self.__requester, data, completion = LazyCompletion )\n+ return IssueEvent.IssueEvent( self.__requester, data, completion = NoCompletion )\n \n def get_issues_events( self ):\n status, headers, data = self.__requester.request(\n@@ -674,7 +674,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -697,7 +697,7 @@ def get_label( self, name ):\n None,\n None\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def get_labels( self ):\n status, headers, data = self.__requester.request(\n@@ -729,7 +729,7 @@ def get_milestone( self, number ):\n None,\n None\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def get_milestones( self, state = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -766,7 +766,7 @@ def get_pull( self, number ):\n None,\n None\n )\n- return PullRequest.PullRequest( self.__requester, data, completion = LazyCompletion )\n+ return PullRequest.PullRequest( self.__requester, data, completion = NoCompletion )\n \n def get_pulls( self, state = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":26,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt","changes":5,"deletions":5,"filename":"test/ReplayData/Repository.testAttributes.txt","patch":"@@ -3,8 +3,3 @@ GET /repos/jacquev6/PyGithub {} null\n [('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n {\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n \r\n-GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null\r\n-200\r\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n-{\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n-\r","additions":0,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt"}],"sha":"6945921c529be14c3a8f566dd1e483674516d46d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a72d8b135841aa00158054d229c8e18333075cd4","sha":"a72d8b135841aa00158054d229c8e18333075cd4"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6945921c529be14c3a8f566dd1e483674516d46d","message":"Use NoCompletion when creating an object from the result of a request","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/793ba5982623f4723ad63706da9a483ac82b3411","sha":"793ba5982623f4723ad63706da9a483ac82b3411"}}} - -POST /repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4982'), ('content-length', '714'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd72e3550c9b90814f0be2b54ab2cc8e"'), ('date', 'Tue, 22 May 2012 18:40:18 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1361949')] -{"updated_at":"2012-05-22T18:40:18Z","position":null,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-22T18:40:18Z","path":null,"line":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1361949,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949"} - diff --git a/test/ReplayData/Branch.testCreateCommitCommentOnFileLine.txt b/test/ReplayData/Branch.testCreateCommitCommentOnFileLine.txt deleted file mode 100644 index d965a802..00000000 --- a/test/ReplayData/Branch.testCreateCommitCommentOnFileLine.txt +++ /dev/null @@ -1,10 +0,0 @@ -GET /repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4971'), ('content-length', '30760'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f276f72ff715b53a373da1b0925e48c6"'), ('date', 'Tue, 22 May 2012 18:49:33 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"author":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d","stats":{"deletions":53,"additions":48,"total":101},"committer":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"files":[{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py","changes":2,"deletions":1,"filename":"codegen/templates/GithubObject.MethodBody.UseResult.py","patch":"@@ -23,7 +23,7 @@\n {% else %}\r\n \r\n {% if method.type.cardinality == \"scalar\" %}\r\n- return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = LazyCompletion )\r\n+ return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = NoCompletion )\r\n {% endif %}\r\n \r\n {% if method.type.cardinality == \"list\" %}\r","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py","changes":16,"deletions":8,"filename":"src/github/AuthenticatedUser.py","patch":"@@ -187,7 +187,7 @@ def create_authorization( self, scopes = DefaultValueForOptionalParameters, note\n None,\n post_parameters\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self, repo ):\n status, headers, data = self.__requester.request(\n@@ -196,7 +196,7 @@ def create_fork( self, repo ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_gist( self, public, files, description = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -211,7 +211,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -224,7 +224,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -250,7 +250,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, hireable = DefaultValueForOptionalParameters, bio = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -284,7 +284,7 @@ def get_authorization( self, id ):\n None,\n None\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def get_authorizations( self ):\n status, headers, data = self.__requester.request(\n@@ -386,7 +386,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -437,7 +437,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":8,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py","changes":2,"deletions":1,"filename":"src/github/Commit.py","patch":"@@ -77,7 +77,7 @@ def create_comment( self, body, commit_id = DefaultValueForOptionalParameters, l\n None,\n post_parameters\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py","changes":6,"deletions":3,"filename":"src/github/Gist.py","patch":"@@ -96,7 +96,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self ):\n status, headers, data = self.__requester.request(\n@@ -105,7 +105,7 @@ def create_fork( self ):\n None,\n None\n )\n- return Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist( self.__requester, data, completion = NoCompletion )\n \n def delete( self ):\n status, headers, data = self.__requester.request(\n@@ -137,7 +137,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":3,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py","changes":4,"deletions":2,"filename":"src/github/Issue.py","patch":"@@ -122,7 +122,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def delete_labels( self ):\n pass\n@@ -157,7 +157,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py","changes":4,"deletions":2,"filename":"src/github/NamedUser.py","patch":"@@ -161,7 +161,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def get_events( self ):\n status, headers, data = self.__requester.request(\n@@ -282,7 +282,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py","changes":8,"deletions":4,"filename":"src/github/Organization.py","patch":"@@ -156,7 +156,7 @@ def create_fork( self, repo ):\n url_parameters,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -182,7 +182,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_team( self, name, repo_names = DefaultValueForOptionalParameters, permission = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -198,7 +198,7 @@ def create_team( self, name, repo_names = DefaultValueForOptionalParameters, per\n None,\n post_parameters\n )\n- return Team.Team( self.__requester, data, completion = LazyCompletion )\n+ return Team.Team( self.__requester, data, completion = NoCompletion )\n \n def edit( self, billing_email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, name = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -272,7 +272,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":4,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py","changes":2,"deletions":1,"filename":"src/github/PullRequest.py","patch":"@@ -171,7 +171,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return PullRequestComment.PullRequestComment( self.__requester, data, completion = LazyCompletion )\n+ return PullRequestComment.PullRequestComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py","changes":52,"deletions":26,"filename":"src/github/Repository.py","patch":"@@ -218,7 +218,7 @@ def create_download( self, name, size, description = DefaultValueForOptionalPara\n None,\n post_parameters\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def create_git_blob( self, content, encoding ):\n post_parameters = {\n@@ -231,7 +231,7 @@ def create_git_blob( self, content, encoding ):\n None,\n post_parameters\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def create_git_commit( self, message, tree, parents, author = DefaultValueForOptionalParameters, committer = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -249,7 +249,7 @@ def create_git_commit( self, message, tree, parents, author = DefaultValueForOpt\n None,\n post_parameters\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def create_git_ref( self, ref, sha ):\n post_parameters = {\n@@ -262,7 +262,7 @@ def create_git_ref( self, ref, sha ):\n None,\n post_parameters\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -279,7 +279,7 @@ def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOp\n None,\n post_parameters\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -293,7 +293,7 @@ def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters )\n None,\n post_parameters\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def create_hook( self, name, config, events = DefaultValueForOptionalParameters, active = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -310,7 +310,7 @@ def create_hook( self, name, config, events = DefaultValueForOptionalParameters,\n None,\n post_parameters\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def create_issue( self, title, body = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, milestone = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -330,7 +330,7 @@ def create_issue( self, title, body = DefaultValueForOptionalParameters, assigne\n None,\n post_parameters\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -343,7 +343,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def create_label( self, name, color ):\n post_parameters = {\n@@ -356,7 +356,7 @@ def create_label( self, name, color ):\n None,\n post_parameters\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def create_milestone( self, title, state = DefaultValueForOptionalParameters, description = DefaultValueForOptionalParameters, due_on = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -374,7 +374,7 @@ def create_milestone( self, title, state = DefaultValueForOptionalParameters, de\n None,\n post_parameters\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, public = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -435,7 +435,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(\n@@ -458,7 +458,7 @@ def get_commit( self, sha ):\n None,\n None\n )\n- return Commit.Commit( self.__requester, data, completion = LazyCompletion )\n+ return Commit.Commit( self.__requester, data, completion = NoCompletion )\n \n def get_commits( self, sha = DefaultValueForOptionalParameters, path = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -495,7 +495,7 @@ def get_download( self, id ):\n None,\n None\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def get_downloads( self ):\n status, headers, data = self.__requester.request(\n@@ -546,7 +546,7 @@ def get_git_blob( self, sha ):\n None,\n None\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def get_git_commit( self, sha ):\n status, headers, data = self.__requester.request(\n@@ -555,7 +555,7 @@ def get_git_commit( self, sha ):\n None,\n None\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def get_git_ref( self, ref ):\n status, headers, data = self.__requester.request(\n@@ -564,7 +564,7 @@ def get_git_ref( self, ref ):\n None,\n None\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def get_git_refs( self ):\n status, headers, data = self.__requester.request(\n@@ -587,7 +587,7 @@ def get_git_tag( self, sha ):\n None,\n None\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -596,7 +596,7 @@ def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n None,\n None\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def get_hook( self, id ):\n status, headers, data = self.__requester.request(\n@@ -605,7 +605,7 @@ def get_hook( self, id ):\n None,\n None\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def get_hooks( self ):\n status, headers, data = self.__requester.request(\n@@ -628,7 +628,7 @@ def get_issue( self, number ):\n None,\n None\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def get_issues( self, milestone = DefaultValueForOptionalParameters, state = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, mentioned = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters, since = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -651,7 +651,7 @@ def get_issues_event( self, id ):\n None,\n None\n )\n- return IssueEvent.IssueEvent( self.__requester, data, completion = LazyCompletion )\n+ return IssueEvent.IssueEvent( self.__requester, data, completion = NoCompletion )\n \n def get_issues_events( self ):\n status, headers, data = self.__requester.request(\n@@ -674,7 +674,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -697,7 +697,7 @@ def get_label( self, name ):\n None,\n None\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def get_labels( self ):\n status, headers, data = self.__requester.request(\n@@ -729,7 +729,7 @@ def get_milestone( self, number ):\n None,\n None\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def get_milestones( self, state = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -766,7 +766,7 @@ def get_pull( self, number ):\n None,\n None\n )\n- return PullRequest.PullRequest( self.__requester, data, completion = LazyCompletion )\n+ return PullRequest.PullRequest( self.__requester, data, completion = NoCompletion )\n \n def get_pulls( self, state = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":26,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt","changes":5,"deletions":5,"filename":"test/ReplayData/Repository.testAttributes.txt","patch":"@@ -3,8 +3,3 @@ GET /repos/jacquev6/PyGithub {} null\n [('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n {\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n \r\n-GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null\r\n-200\r\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n-{\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n-\r","additions":0,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt"}],"sha":"6945921c529be14c3a8f566dd1e483674516d46d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a72d8b135841aa00158054d229c8e18333075cd4","sha":"a72d8b135841aa00158054d229c8e18333075cd4"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6945921c529be14c3a8f566dd1e483674516d46d","message":"Use NoCompletion when creating an object from the result of a request","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/793ba5982623f4723ad63706da9a483ac82b3411","sha":"793ba5982623f4723ad63706da9a483ac82b3411"}}} - -POST /repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub", "path": "codegen/templates/GithubObject.MethodBody.UseResult.py", "line": 26} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4970'), ('content-length', '764'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d2cb361ce6c53a0fc986e74f8547088f"'), ('date', 'Tue, 22 May 2012 18:49:34 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1362000')] -{"updated_at":"2012-05-22T18:49:34Z","position":null,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362000","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-22T18:49:34Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":26,"user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1362000,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362000"} - diff --git a/test/ReplayData/Branch.testCreateCommitCommentOnFilePosition.txt b/test/ReplayData/Branch.testCreateCommitCommentOnFilePosition.txt deleted file mode 100644 index 4e20b17c..00000000 --- a/test/ReplayData/Branch.testCreateCommitCommentOnFilePosition.txt +++ /dev/null @@ -1,10 +0,0 @@ -GET /repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '30760'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f276f72ff715b53a373da1b0925e48c6"'), ('date', 'Tue, 22 May 2012 18:50:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"author":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d","stats":{"deletions":53,"additions":48,"total":101},"committer":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"files":[{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py","changes":2,"deletions":1,"filename":"codegen/templates/GithubObject.MethodBody.UseResult.py","patch":"@@ -23,7 +23,7 @@\n {% else %}\r\n \r\n {% if method.type.cardinality == \"scalar\" %}\r\n- return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = LazyCompletion )\r\n+ return {% if method.type.name != class.name %}{{ method.type.name }}.{% endif %}{{ method.type.name }}( self.__requester, data, completion = NoCompletion )\r\n {% endif %}\r\n \r\n {% if method.type.cardinality == \"list\" %}\r","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/codegen/templates/GithubObject.MethodBody.UseResult.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py","changes":16,"deletions":8,"filename":"src/github/AuthenticatedUser.py","patch":"@@ -187,7 +187,7 @@ def create_authorization( self, scopes = DefaultValueForOptionalParameters, note\n None,\n post_parameters\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self, repo ):\n status, headers, data = self.__requester.request(\n@@ -196,7 +196,7 @@ def create_fork( self, repo ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_gist( self, public, files, description = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -211,7 +211,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -224,7 +224,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -250,7 +250,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, hireable = DefaultValueForOptionalParameters, bio = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -284,7 +284,7 @@ def get_authorization( self, id ):\n None,\n None\n )\n- return Authorization.Authorization( self.__requester, data, completion = LazyCompletion )\n+ return Authorization.Authorization( self.__requester, data, completion = NoCompletion )\n \n def get_authorizations( self ):\n status, headers, data = self.__requester.request(\n@@ -386,7 +386,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return UserKey.UserKey( self.__requester, data, completion = LazyCompletion )\n+ return UserKey.UserKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -437,7 +437,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":8,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/AuthenticatedUser.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py","changes":2,"deletions":1,"filename":"src/github/Commit.py","patch":"@@ -77,7 +77,7 @@ def create_comment( self, body, commit_id = DefaultValueForOptionalParameters, l\n None,\n post_parameters\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Commit.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py","changes":6,"deletions":3,"filename":"src/github/Gist.py","patch":"@@ -96,7 +96,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def create_fork( self ):\n status, headers, data = self.__requester.request(\n@@ -105,7 +105,7 @@ def create_fork( self ):\n None,\n None\n )\n- return Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist( self.__requester, data, completion = NoCompletion )\n \n def delete( self ):\n status, headers, data = self.__requester.request(\n@@ -137,7 +137,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return GistComment.GistComment( self.__requester, data, completion = LazyCompletion )\n+ return GistComment.GistComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":3,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Gist.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py","changes":4,"deletions":2,"filename":"src/github/Issue.py","patch":"@@ -122,7 +122,7 @@ def create_comment( self, body ):\n None,\n post_parameters\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def delete_labels( self ):\n pass\n@@ -157,7 +157,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return IssueComment.IssueComment( self.__requester, data, completion = LazyCompletion )\n+ return IssueComment.IssueComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Issue.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py","changes":4,"deletions":2,"filename":"src/github/NamedUser.py","patch":"@@ -161,7 +161,7 @@ def create_gist( self, public, files, description = DefaultValueForOptionalParam\n None,\n post_parameters\n )\n- return Gist.Gist( self.__requester, data, completion = LazyCompletion )\n+ return Gist.Gist( self.__requester, data, completion = NoCompletion )\n \n def get_events( self ):\n status, headers, data = self.__requester.request(\n@@ -282,7 +282,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":2,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/NamedUser.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py","changes":8,"deletions":4,"filename":"src/github/Organization.py","patch":"@@ -156,7 +156,7 @@ def create_fork( self, repo ):\n url_parameters,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_repo( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, private = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters, team_id = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -182,7 +182,7 @@ def create_repo( self, name, description = DefaultValueForOptionalParameters, ho\n None,\n post_parameters\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def create_team( self, name, repo_names = DefaultValueForOptionalParameters, permission = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -198,7 +198,7 @@ def create_team( self, name, repo_names = DefaultValueForOptionalParameters, per\n None,\n post_parameters\n )\n- return Team.Team( self.__requester, data, completion = LazyCompletion )\n+ return Team.Team( self.__requester, data, completion = NoCompletion )\n \n def edit( self, billing_email = DefaultValueForOptionalParameters, blog = DefaultValueForOptionalParameters, company = DefaultValueForOptionalParameters, email = DefaultValueForOptionalParameters, location = DefaultValueForOptionalParameters, name = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -272,7 +272,7 @@ def get_repo( self, name ):\n None,\n None\n )\n- return Repository.Repository( self.__requester, data, completion = LazyCompletion )\n+ return Repository.Repository( self.__requester, data, completion = NoCompletion )\n \n def get_repos( self, type = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":4,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Organization.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py","changes":2,"deletions":1,"filename":"src/github/PullRequest.py","patch":"@@ -171,7 +171,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return PullRequestComment.PullRequestComment( self.__requester, data, completion = LazyCompletion )\n+ return PullRequestComment.PullRequestComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(","additions":1,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/PullRequest.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py","changes":52,"deletions":26,"filename":"src/github/Repository.py","patch":"@@ -218,7 +218,7 @@ def create_download( self, name, size, description = DefaultValueForOptionalPara\n None,\n post_parameters\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def create_git_blob( self, content, encoding ):\n post_parameters = {\n@@ -231,7 +231,7 @@ def create_git_blob( self, content, encoding ):\n None,\n post_parameters\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def create_git_commit( self, message, tree, parents, author = DefaultValueForOptionalParameters, committer = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -249,7 +249,7 @@ def create_git_commit( self, message, tree, parents, author = DefaultValueForOpt\n None,\n post_parameters\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def create_git_ref( self, ref, sha ):\n post_parameters = {\n@@ -262,7 +262,7 @@ def create_git_ref( self, ref, sha ):\n None,\n post_parameters\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -279,7 +279,7 @@ def create_git_tag( self, tag, message, object, type, tagger = DefaultValueForOp\n None,\n post_parameters\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -293,7 +293,7 @@ def create_git_tree( self, tree, base_tree = DefaultValueForOptionalParameters )\n None,\n post_parameters\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def create_hook( self, name, config, events = DefaultValueForOptionalParameters, active = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -310,7 +310,7 @@ def create_hook( self, name, config, events = DefaultValueForOptionalParameters,\n None,\n post_parameters\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def create_issue( self, title, body = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, milestone = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -330,7 +330,7 @@ def create_issue( self, title, body = DefaultValueForOptionalParameters, assigne\n None,\n post_parameters\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def create_key( self, title, key ):\n post_parameters = {\n@@ -343,7 +343,7 @@ def create_key( self, title, key ):\n None,\n post_parameters\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def create_label( self, name, color ):\n post_parameters = {\n@@ -356,7 +356,7 @@ def create_label( self, name, color ):\n None,\n post_parameters\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def create_milestone( self, title, state = DefaultValueForOptionalParameters, description = DefaultValueForOptionalParameters, due_on = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -374,7 +374,7 @@ def create_milestone( self, title, state = DefaultValueForOptionalParameters, de\n None,\n post_parameters\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def edit( self, name, description = DefaultValueForOptionalParameters, homepage = DefaultValueForOptionalParameters, public = DefaultValueForOptionalParameters, has_issues = DefaultValueForOptionalParameters, has_wiki = DefaultValueForOptionalParameters, has_downloads = DefaultValueForOptionalParameters ):\n post_parameters = {\n@@ -435,7 +435,7 @@ def get_comment( self, id ):\n None,\n None\n )\n- return CommitComment.CommitComment( self.__requester, data, completion = LazyCompletion )\n+ return CommitComment.CommitComment( self.__requester, data, completion = NoCompletion )\n \n def get_comments( self ):\n status, headers, data = self.__requester.request(\n@@ -458,7 +458,7 @@ def get_commit( self, sha ):\n None,\n None\n )\n- return Commit.Commit( self.__requester, data, completion = LazyCompletion )\n+ return Commit.Commit( self.__requester, data, completion = NoCompletion )\n \n def get_commits( self, sha = DefaultValueForOptionalParameters, path = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -495,7 +495,7 @@ def get_download( self, id ):\n None,\n None\n )\n- return Download.Download( self.__requester, data, completion = LazyCompletion )\n+ return Download.Download( self.__requester, data, completion = NoCompletion )\n \n def get_downloads( self ):\n status, headers, data = self.__requester.request(\n@@ -546,7 +546,7 @@ def get_git_blob( self, sha ):\n None,\n None\n )\n- return GitBlob.GitBlob( self.__requester, data, completion = LazyCompletion )\n+ return GitBlob.GitBlob( self.__requester, data, completion = NoCompletion )\n \n def get_git_commit( self, sha ):\n status, headers, data = self.__requester.request(\n@@ -555,7 +555,7 @@ def get_git_commit( self, sha ):\n None,\n None\n )\n- return GitCommit.GitCommit( self.__requester, data, completion = LazyCompletion )\n+ return GitCommit.GitCommit( self.__requester, data, completion = NoCompletion )\n \n def get_git_ref( self, ref ):\n status, headers, data = self.__requester.request(\n@@ -564,7 +564,7 @@ def get_git_ref( self, ref ):\n None,\n None\n )\n- return GitRef.GitRef( self.__requester, data, completion = LazyCompletion )\n+ return GitRef.GitRef( self.__requester, data, completion = NoCompletion )\n \n def get_git_refs( self ):\n status, headers, data = self.__requester.request(\n@@ -587,7 +587,7 @@ def get_git_tag( self, sha ):\n None,\n None\n )\n- return GitTag.GitTag( self.__requester, data, completion = LazyCompletion )\n+ return GitTag.GitTag( self.__requester, data, completion = NoCompletion )\n \n def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -596,7 +596,7 @@ def get_git_tree( self, sha, recursive = DefaultValueForOptionalParameters ):\n None,\n None\n )\n- return GitTree.GitTree( self.__requester, data, completion = LazyCompletion )\n+ return GitTree.GitTree( self.__requester, data, completion = NoCompletion )\n \n def get_hook( self, id ):\n status, headers, data = self.__requester.request(\n@@ -605,7 +605,7 @@ def get_hook( self, id ):\n None,\n None\n )\n- return Hook.Hook( self.__requester, data, completion = LazyCompletion )\n+ return Hook.Hook( self.__requester, data, completion = NoCompletion )\n \n def get_hooks( self ):\n status, headers, data = self.__requester.request(\n@@ -628,7 +628,7 @@ def get_issue( self, number ):\n None,\n None\n )\n- return Issue.Issue( self.__requester, data, completion = LazyCompletion )\n+ return Issue.Issue( self.__requester, data, completion = NoCompletion )\n \n def get_issues( self, milestone = DefaultValueForOptionalParameters, state = DefaultValueForOptionalParameters, assignee = DefaultValueForOptionalParameters, mentioned = DefaultValueForOptionalParameters, labels = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters, since = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -651,7 +651,7 @@ def get_issues_event( self, id ):\n None,\n None\n )\n- return IssueEvent.IssueEvent( self.__requester, data, completion = LazyCompletion )\n+ return IssueEvent.IssueEvent( self.__requester, data, completion = NoCompletion )\n \n def get_issues_events( self ):\n status, headers, data = self.__requester.request(\n@@ -674,7 +674,7 @@ def get_key( self, id ):\n None,\n None\n )\n- return RepositoryKey.RepositoryKey( self.__requester, data, completion = LazyCompletion )\n+ return RepositoryKey.RepositoryKey( self.__requester, data, completion = NoCompletion )\n \n def get_keys( self ):\n status, headers, data = self.__requester.request(\n@@ -697,7 +697,7 @@ def get_label( self, name ):\n None,\n None\n )\n- return Label.Label( self.__requester, data, completion = LazyCompletion )\n+ return Label.Label( self.__requester, data, completion = NoCompletion )\n \n def get_labels( self ):\n status, headers, data = self.__requester.request(\n@@ -729,7 +729,7 @@ def get_milestone( self, number ):\n None,\n None\n )\n- return Milestone.Milestone( self.__requester, data, completion = LazyCompletion )\n+ return Milestone.Milestone( self.__requester, data, completion = NoCompletion )\n \n def get_milestones( self, state = DefaultValueForOptionalParameters, sort = DefaultValueForOptionalParameters, direction = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(\n@@ -766,7 +766,7 @@ def get_pull( self, number ):\n None,\n None\n )\n- return PullRequest.PullRequest( self.__requester, data, completion = LazyCompletion )\n+ return PullRequest.PullRequest( self.__requester, data, completion = NoCompletion )\n \n def get_pulls( self, state = DefaultValueForOptionalParameters ):\n status, headers, data = self.__requester.request(","additions":26,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/src/github/Repository.py"},{"status":"modified","raw_url":"https://github.com/jacquev6/PyGithub/raw/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt","changes":5,"deletions":5,"filename":"test/ReplayData/Repository.testAttributes.txt","patch":"@@ -3,8 +3,3 @@ GET /repos/jacquev6/PyGithub {} null\n [('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n {\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n \r\n-GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null\r\n-200\r\n-[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '\"8b91cd1456a5d4ef451946f882d9161e\"'), ('date', 'Wed, 09 May 2012 10:26:15 GMT'), ('content-type', 'application/json; charset=utf-8')]\r\n-{\"mirror_url\":null,\"homepage\":\"http://vincent-jacques.net/PyGithub\",\"clone_url\":\"https://github.com/jacquev6/PyGithub.git\",\"html_url\":\"https://github.com/jacquev6/PyGithub\",\"url\":\"https://api.github.com/repos/jacquev6/PyGithub\",\"has_downloads\":true,\"watchers\":13,\"permissions\":{\"admin\":true,\"pull\":true,\"push\":true},\"has_wiki\":false,\"has_issues\":true,\"fork\":false,\"forks\":2,\"language\":\"Python\",\"size\":212,\"description\":\"Python library implementing the full Github API v3\",\"git_url\":\"git://github.com/jacquev6/PyGithub.git\",\"private\":false,\"created_at\":\"2012-02-25T12:53:47Z\",\"open_issues\":15,\"svn_url\":\"https://github.com/jacquev6/PyGithub\",\"owner\":{\"url\":\"https://api.github.com/users/jacquev6\",\"login\":\"jacquev6\",\"gravatar_id\":\"b68de5ae38616c296fa345d2b9df2225\",\"avatar_url\":\"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png\",\"id\":327146},\"name\":\"PyGithub\",\"pushed_at\":\"2012-05-08T19:27:43Z\",\"id\":3544490,\"ssh_url\":\"git@github.com:jacquev6/PyGithub.git\",\"updated_at\":\"2012-05-08T19:27:43Z\"}\r\n-\r","additions":0,"sha":"6945921c529be14c3a8f566dd1e483674516d46d","blob_url":"https://github.com/jacquev6/PyGithub/blob/6945921c529be14c3a8f566dd1e483674516d46d/test/ReplayData/Repository.testAttributes.txt"}],"sha":"6945921c529be14c3a8f566dd1e483674516d46d","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a72d8b135841aa00158054d229c8e18333075cd4","sha":"a72d8b135841aa00158054d229c8e18333075cd4"}],"commit":{"author":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/6945921c529be14c3a8f566dd1e483674516d46d","message":"Use NoCompletion when creating an object from the result of a request","committer":{"email":"vincent@vincent-jacques.net","name":"Vincent Jacques","date":"2012-05-12T06:29:15-07:00"},"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/793ba5982623f4723ad63706da9a483ac82b3411","sha":"793ba5982623f4723ad63706da9a483ac82b3411"}}} - -POST /repos/jacquev6/PyGithub/commits/6945921c529be14c3a8f566dd1e483674516d46d/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment also created by PyGithub", "path": "codegen/templates/GithubObject.MethodBody.UseResult.py", "position": 3} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4966'), ('content-length', '768'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b3d062ed01b92c31d072c7177113c0b1"'), ('date', 'Tue, 22 May 2012 18:50:02 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1362001')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362001","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","body":"Comment also created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1362001","created_at":"2012-05-22T18:50:02Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","position":3,"updated_at":"2012-05-22T18:50:02Z","id":1362001,"line":null,"user":{"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/Branch.testEditCommitComment.txt b/test/ReplayData/Branch.testEditCommitComment.txt deleted file mode 100644 index d10084fd..00000000 --- a/test/ReplayData/Branch.testEditCommitComment.txt +++ /dev/null @@ -1,10 +0,0 @@ -GET /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('content-length', '714'), ('x-ratelimit-remaining', '4979'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eebb2ebe0274fc6672c9e7bad74e5f39"'), ('date', 'Tue, 22 May 2012 18:43:13 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","path":null,"body":"Comment created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949","created_at":"2012-05-22T18:40:18Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","position":null,"updated_at":"2012-05-22T18:40:18Z","id":1361949,"line":null,"user":{"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}} - -PATCH /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '713'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"97ffd9ff8370f4f284873a6397d7cafd"'), ('date', 'Tue, 22 May 2012 18:43:17 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-22T18:43:17Z","position":null,"body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-22T18:40:18Z","path":null,"line":null,"user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1361949,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949"} - diff --git a/test/ReplayData/Branch.testAttributes.txt b/test/ReplayData/Commit.setUp.txt similarity index 65% rename from test/ReplayData/Branch.testAttributes.txt rename to test/ReplayData/Commit.setUp.txt index da4f88e4..dfdaca90 100644 --- a/test/ReplayData/Branch.testAttributes.txt +++ b/test/ReplayData/Commit.setUp.txt @@ -1,3 +1,13 @@ +GET /user {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"27524c635501121933f4f78c95b1945a"'), ('date', 'Fri, 18 May 2012 20:12:19 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"owned_private_repos":5,"collaborators":0,"type":"User","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":1,"company":"Criteo","bio":"","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","private_gists":5,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"public_repos":11,"followers":13,"login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","disk_usage":16852,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","total_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24} + +GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c5eec74d4b76b80283636a8efe1a132c"'), ('date', 'Fri, 18 May 2012 20:12:20 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} + GET /repos/jacquev6/PyGithub/branches {'Authorization': 'Basic login_and_password_removed'} null 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '769'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"2dada6dafd332016bcdf06e42487e520"'), ('date', 'Thu, 10 May 2012 13:56:55 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/test/ReplayData/Commit.testCreateComment.txt b/test/ReplayData/Commit.testCreateComment.txt new file mode 100644 index 00000000..f4984e80 --- /dev/null +++ b/test/ReplayData/Commit.testCreateComment.txt @@ -0,0 +1,5 @@ +POST /repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub"} +201 +[('status', '201 Created'), ('x-ratelimit-remaining', '4982'), ('content-length', '714'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd72e3550c9b90814f0be2b54ab2cc8e"'), ('date', 'Tue, 22 May 2012 18:40:18 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1361949')] +{"updated_at":"2012-05-22T18:40:18Z","position":null,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","created_at":"2012-05-22T18:40:18Z","path":null,"line":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1361949,"html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1361949"} + diff --git a/test/ReplayData/Commit.testCreateCommentOnFileLine.txt b/test/ReplayData/Commit.testCreateCommentOnFileLine.txt new file mode 100644 index 00000000..d73f4fdc --- /dev/null +++ b/test/ReplayData/Commit.testCreateCommentOnFileLine.txt @@ -0,0 +1,5 @@ +POST /repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub", "path": "codegen/templates/GithubObject.MethodBody.UseResult.py", "line": 26} +201 +[('status', '201 Created'), ('x-ratelimit-remaining', '4970'), ('content-length', '764'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d2cb361ce6c53a0fc986e74f8547088f"'), ('date', 'Tue, 22 May 2012 18:49:34 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1362000')] +{"updated_at":"2012-05-22T18:49:34Z","position":null,"body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362000","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","created_at":"2012-05-22T18:49:34Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":26,"user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1362000,"html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1362000"} + diff --git a/test/ReplayData/Commit.testCreateCommentOnFilePosition.txt b/test/ReplayData/Commit.testCreateCommentOnFilePosition.txt new file mode 100644 index 00000000..acde2afc --- /dev/null +++ b/test/ReplayData/Commit.testCreateCommentOnFilePosition.txt @@ -0,0 +1,5 @@ +POST /repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment also created by PyGithub", "path": "codegen/templates/GithubObject.MethodBody.UseResult.py", "position": 3} +201 +[('status', '201 Created'), ('x-ratelimit-remaining', '4966'), ('content-length', '768'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b3d062ed01b92c31d072c7177113c0b1"'), ('date', 'Tue, 22 May 2012 18:50:02 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/comments/1362001')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1362001","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","body":"Comment also created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1362001","created_at":"2012-05-22T18:50:02Z","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","position":3,"updated_at":"2012-05-22T18:50:02Z","id":1362001,"line":null,"user":{"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/Commit.testGetComments.txt b/test/ReplayData/Commit.testGetComments.txt new file mode 100644 index 00000000..1cbcc9a6 --- /dev/null +++ b/test/ReplayData/Commit.testGetComments.txt @@ -0,0 +1,5 @@ +GET /repos/jacquev6/PyGithub/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a/comments {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '4322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9000a379c4d5eba3527a002d2bbc2e0c"'), ('date', 'Fri, 18 May 2012 20:12:18 GMT'), ('content-type', 'application/json; charset=utf-8')] +[{"updated_at":"2012-05-18T08:46:09Z","position":null,"body":"probably a noob question: does this completion refer to autocompletion in IDE's/editors? \nI have observed that this is pretty erratic sometimes. I'm using PyDev+Eclipse.\nFor example, in the tutorial from the readme, `g.get_u` gets autocompleted correctly, but `g.get_user().get_r` (or any method or attribute applicable to NamedUsers/AuthenticatedUser, really) does not show autocompletion to `g.get_user().get_repo()`. Is that by design? It makes exploring the library/API a bit cumbersome. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347033","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1347033","created_at":"2012-05-18T08:46:09Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":1347033},{"updated_at":"2012-05-18T09:03:40Z","position":null,"body":"No, it has nothing to do with auto-completion in IDEs :D\n\nGithub API v3 sends only the main part of objects in reply to some requests. So, if the user wants an attribute that has not been received yet, I have to do another request to complete the object.\n\nYet, in version 1.0 (see the milesone), my library will be much more readable for IDEs and their auto-completion mechanisms, because I am giving up the meta-description that I used until 0.6, and I'm now generating much more traditional code, that you will be able to explore as if it was written manually.\n\nIf you want to take the time to open an issue about auto-completion in IDEs, I'll deal with it in milestone 1.0.\n\nThanks !","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347083","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1347083","created_at":"2012-05-18T08:59:28Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":1347083},{"updated_at":"2012-05-18T10:55:55Z","position":null,"body":"Ah, thanks for the clarification. :blush:\n\nI made issue #27 for the autocompletion. I already suspected something like this meta-description magic, since I tried to read some of the code and it was pretty arcane. I attributed that to my pythonic noobness, though. Thank you. ","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1347397","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1347397","created_at":"2012-05-18T10:54:23Z","path":null,"line":null,"user":{"url":"https://api.github.com/users/bilderbuchi","gravatar_id":"2aed663a62fa8bf9f7aebe603d3998bb","avatar_url":"https://secure.gravatar.com/avatar/2aed663a62fa8bf9f7aebe603d3998bb?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"bilderbuchi","id":327442},"id":1347397},{"updated_at":"2012-05-18T20:11:17Z","position":3,"body":"This comment is here only to test PyGithub...","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1349654","commit_id":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a","html_url":"https://github.com/jacquev6/PyGithub/commit/1292bf0e22c796e91cc3d6e24b544aece8c21f2a#commitcomment-1349654","created_at":"2012-05-18T20:11:17Z","path":"codegen/templates/GithubObject.MethodBody.UseResult.py","line":25,"user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":1349654}] + diff --git a/test/ReplayData/CommitComment.setUp.txt b/test/ReplayData/CommitComment.setUp.txt new file mode 100644 index 00000000..28c3720a --- /dev/null +++ b/test/ReplayData/CommitComment.setUp.txt @@ -0,0 +1,15 @@ +GET /user {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"27524c635501121933f4f78c95b1945a"'), ('date', 'Fri, 18 May 2012 20:12:19 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"owned_private_repos":5,"collaborators":0,"type":"User","hireable":false,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","public_gists":1,"company":"Criteo","bio":"","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","private_gists":5,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"public_repos":11,"followers":13,"login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","disk_usage":16852,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","total_private_repos":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24} + +GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c5eec74d4b76b80283636a8efe1a132c"'), ('date', 'Fri, 18 May 2012 20:12:20 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"mirror_url":null,"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} + +GET /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('content-length', '714'), ('x-ratelimit-remaining', '4979'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eebb2ebe0274fc6672c9e7bad74e5f39"'), ('date', 'Tue, 22 May 2012 18:43:13 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","path":null,"body":"Comment created by PyGithub","html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949","created_at":"2012-05-22T18:40:18Z","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","position":null,"updated_at":"2012-05-22T18:40:18Z","id":1361949,"line":null,"user":{"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/CommitComment.testDelete.txt b/test/ReplayData/CommitComment.testDelete.txt new file mode 100644 index 00000000..bbbdb55b --- /dev/null +++ b/test/ReplayData/CommitComment.testDelete.txt @@ -0,0 +1,5 @@ +DELETE /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null +204 +[('status', '204 No Content'), ('x-ratelimit-remaining', '4974'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 18:44:06 GMT')] + + diff --git a/test/ReplayData/Branch.testDeleteCommitComment.txt b/test/ReplayData/CommitComment.testEdit.txt similarity index 56% rename from test/ReplayData/Branch.testDeleteCommitComment.txt rename to test/ReplayData/CommitComment.testEdit.txt index ad872ccb..98c0aeea 100644 --- a/test/ReplayData/Branch.testDeleteCommitComment.txt +++ b/test/ReplayData/CommitComment.testEdit.txt @@ -1,10 +1,5 @@ -GET /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null +PATCH /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"} 200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4975'), ('content-length', '713'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"97ffd9ff8370f4f284873a6397d7cafd"'), ('date', 'Tue, 22 May 2012 18:44:06 GMT'), ('content-type', 'application/json; charset=utf-8')] +[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '713'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"97ffd9ff8370f4f284873a6397d7cafd"'), ('date', 'Tue, 22 May 2012 18:43:17 GMT'), ('content-type', 'application/json; charset=utf-8')] {"updated_at":"2012-05-22T18:43:17Z","position":null,"body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/comments/1361949","commit_id":"6945921c529be14c3a8f566dd1e483674516d46d","created_at":"2012-05-22T18:40:18Z","path":null,"line":null,"user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"id":1361949,"html_url":"https://github.com/jacquev6/PyGithub/commit/6945921c529be14c3a8f566dd1e483674516d46d#commitcomment-1361949"} -DELETE /repos/jacquev6/PyGithub/comments/1361949 {'Authorization': 'Basic login_and_password_removed'} null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4974'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 18:44:06 GMT')] - - diff --git a/test/ReplayData/Download.setUp.txt b/test/ReplayData/Download.setUp.txt index f4081ceb..b342b2bc 100644 --- a/test/ReplayData/Download.setUp.txt +++ b/test/ReplayData/Download.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4952'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c26fc3fce8f52d05f1adf2025bfe34ab"'), ('date', 'Tue, 22 May 2012 19:15:58 GMT'), ('content-type', 'application/json; charset=utf-8')] {"pushed_at":"2012-05-21T13:48:43Z","updated_at":"2012-05-22T19:15:29Z","homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"pull":true,"admin":true,"push":true},"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"size":181,"private":false,"forks":2,"owner":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","clone_url":"https://github.com/jacquev6/PyGithub.git","ssh_url":"git@github.com:jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","created_at":"2012-02-25T12:53:47Z","id":3544490,"open_issues":17,"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git"} +GET /repos/jacquev6/PyGithub/downloads/242550 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('content-length', '290'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"6d8a8b9509b1686543a96ec3c58b0293"'), ('date', 'Tue, 22 May 2012 19:03:36 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242550","size":1024,"name":"Foobar.txt","created_at":"2012-05-22T18:58:32Z","description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt","id":242550} + diff --git a/test/ReplayData/Download.testAttributes.txt b/test/ReplayData/Download.testAttributes.txt deleted file mode 100644 index 1bd23839..00000000 --- a/test/ReplayData/Download.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/downloads/242550 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4960'), ('content-length', '290'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"6d8a8b9509b1686543a96ec3c58b0293"'), ('date', 'Tue, 22 May 2012 19:03:36 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242550","size":1024,"name":"Foobar.txt","created_at":"2012-05-22T18:58:32Z","description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt","id":242550} - diff --git a/test/ReplayData/Download.testDelete.txt b/test/ReplayData/Download.testDelete.txt index 12e6f759..be1f2eb8 100644 --- a/test/ReplayData/Download.testDelete.txt +++ b/test/ReplayData/Download.testDelete.txt @@ -1,9 +1,4 @@ -GET /repos/jacquev6/PyGithub/downloads/242562 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4951'), ('content-length', '290'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"dcabb0edb27a952d13d734c70e92c4f7"'), ('date', 'Tue, 22 May 2012 19:15:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"content_type":"text/plain","download_count":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/downloads/242562","size":1024,"name":"Foobar.txt","created_at":"2012-05-22T19:15:29Z","description":null,"html_url":"https://github.com/downloads/jacquev6/PyGithub/Foobar.txt","id":242562} - -DELETE /repos/jacquev6/PyGithub/downloads/242562 {'Authorization': 'Basic login_and_password_removed'} null +DELETE /repos/jacquev6/PyGithub/downloads/242550 {'Authorization': 'Basic login_and_password_removed'} null 204 [('status', '204 No Content'), ('x-ratelimit-remaining', '4950'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Tue, 22 May 2012 19:16:03 GMT')] diff --git a/test/ReplayData/Gist.testAttributes.txt b/test/ReplayData/Gist.setUp.txt similarity index 86% rename from test/ReplayData/Gist.testAttributes.txt rename to test/ReplayData/Gist.setUp.txt index 866d65ff..2c1a023d 100644 --- a/test/ReplayData/Gist.testAttributes.txt +++ b/test/ReplayData/Gist.setUp.txt @@ -1,5 +1,5 @@ -GET /gists/1942384 {'Authorization': 'Basic login_and_password_removed'} null +GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/1942384","comments":0,"public":true,"git_pull_url":"git://gist.github.com/1942384.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/1942384/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/1942384","git_push_url":"git@gist.github.com:1942384.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"1942384","history":[{"url":"https://api.github.com/gists/1942384/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} +{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} diff --git a/test/ReplayData/Gist.testCommentAttributes.txt b/test/ReplayData/Gist.testCommentAttributes.txt deleted file mode 100644 index 7edc083a..00000000 --- a/test/ReplayData/Gist.testCommentAttributes.txt +++ /dev/null @@ -1,10 +0,0 @@ -GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b4e6600dfa740ccc7f7b9d5ee524cfef"'), ('date', 'Sat, 19 May 2012 07:09:41 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"git_pull_url":"git://gist.github.com/2729810.git","updated_at":"2012-05-19T07:06:10Z","forks":[],"git_push_url":"git@gist.github.com:2729810.git","url":"https://api.github.com/gists/2729810","comments":1,"public":true,"files":{"barbaz.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"Description edited by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"deletions":0,"additions":0,"total":0},"committed_at":"2012-05-19T07:06:10Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","version":"e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:04:31Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]} - -GET /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '479'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"71e33af16286b8d531f8d8175ed6a8d1"'), ('date', 'Sat, 19 May 2012 07:09:42 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T07:07:57Z","body":"Comment created by PyGithub","url":"https://api.github.com/gists/comments/323629","created_at":"2012-05-19T07:07:57Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":323629} - diff --git a/test/ReplayData/Gist.testCreateComment.txt b/test/ReplayData/Gist.testCreateComment.txt index 43997945..021088d8 100644 --- a/test/ReplayData/Gist.testCreateComment.txt +++ b/test/ReplayData/Gist.testCreateComment.txt @@ -1,8 +1,3 @@ -GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9e3b50f6c9ead4cffcdbe8edb198fdc7"'), ('date', 'Sat, 19 May 2012 07:07:57 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"git_pull_url":"git://gist.github.com/2729810.git","updated_at":"2012-05-19T07:06:10Z","forks":[],"git_push_url":"git@gist.github.com:2729810.git","url":"https://api.github.com/gists/2729810","comments":0,"public":true,"files":{"barbaz.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"Description edited by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"deletions":0,"additions":0,"total":0},"committed_at":"2012-05-19T07:06:10Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","version":"e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:04:31Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]} - POST /gists/2729810/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub"} 201 [('status', '201 Created'), ('x-ratelimit-remaining', '4992'), ('content-length', '479'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"77456eabf6ebaafc2808cfbd4dfa5904"'), ('date', 'Sat, 19 May 2012 07:07:57 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/gists/comments/323629')] diff --git a/test/ReplayData/Gist.testDelete.txt b/test/ReplayData/Gist.testDelete.txt index e70d6433..974fd15f 100644 --- a/test/ReplayData/Gist.testDelete.txt +++ b/test/ReplayData/Gist.testDelete.txt @@ -1,9 +1,4 @@ -GET /gists/2729865 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '3460'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e829012f18db493a69740de762186eb5"'), ('date', 'Sat, 19 May 2012 07:26:54 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"user":{"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},"description":"RoR setup in AWS EC2(Ubuntu 12.04 LTS)","comments":0,"updated_at":"2012-05-19T07:25:30Z","public":true,"git_pull_url":"git://gist.github.com/2729865.git","history":[{"user":{"url":"https://api.github.com/users/Kechol","avatar_url":"https://secure.gravatar.com/avatar/f2a6400b393749ccd9ad3f24d4995f77?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f2a6400b393749ccd9ad3f24d4995f77","login":"Kechol","id":625489},"change_status":{"total":57,"deletions":0,"additions":57},"committed_at":"2012-05-19T07:06:08Z","version":"a655d19a12233e5e5615deb714eae95c433eed57","url":"https://api.github.com/gists/2729865/a655d19a12233e5e5615deb714eae95c433eed57"}],"git_push_url":"git@gist.github.com:2729865.git","url":"https://api.github.com/gists/2729865","fork_of":{"user":{"url":"https://api.github.com/users/Kechol","avatar_url":"https://secure.gravatar.com/avatar/f2a6400b393749ccd9ad3f24d4995f77?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"f2a6400b393749ccd9ad3f24d4995f77","login":"Kechol","id":625489},"description":"RoR setup in AWS EC2(Ubuntu 12.04 LTS)","comments":0,"updated_at":"2012-05-19T07:06:08Z","public":true,"git_pull_url":"git://gist.github.com/2729818.git","git_push_url":"git@gist.github.com:2729818.git","url":"https://api.github.com/gists/2729818","html_url":"https://gist.github.com/2729818","id":"2729818","created_at":"2012-05-19T07:06:08Z","files":{"ror.markdown":{"type":"text/plain","size":1076,"filename":"ror.markdown","raw_url":"https://gist.github.com/raw/2729818/1284e70f4c16550ef32a26aa4f5f0c78edaa7008/ror.markdown","language":"Markdown"}}},"html_url":"https://gist.github.com/2729865","id":"2729865","forks":[],"created_at":"2012-05-19T07:25:30Z","files":{"ror.markdown":{"content":"## create user\n\nsudo useradd -m username\nvisudo\n\n## delete default user\n\nsudo userdel ubuntu\nsudo rm -Rf ubuntu\n\n## setup ssh\n\nmkdir ~/.ssh\nvi /etc/ssh/authorized_keys\nsudo vi /etc/ssh/sshd_config\n\n\n## install packages\n\nsudo apt-get update\n\nsudo apt-get install sysv-rc-init git-core apache2-utils wget vim\nsudo apt-get install mysql-client mysql-server libmysqld-dev\nsudo apt-get install g++ openssl zlib1g readline-common libyaml-dev libssl-dev zlib1g-dev libxml2-dev libxslt1-dev libjson0-dev libgcc1 libreadline-dev\n\n\n## install nginx\n\nwget http://nginx.org/keys/nginx_signing.key\nsudo apt-key add nginx_signing.key\n\n### add /etc/sources.list\n> \"deb http://nginx.org/packages/ubuntu/ lucid nginx\ndeb-src http://nginx.org/packages/ubuntu/ lucid nginx\"\n\napt-get update\napt-get install nginx\n\n\n## setup system\n\nsudo sysv-rc-init\n\n\n## install ruby\n\ncd /usr/local/src\nsudo wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz\nsudo tar zxvf ruby-1.9.3-p194.tar.gz\ncd ruby-1.9.3-p194\nsudo ./configure\nsudo make && make install\n\n\n## install RoR\n\nsudo gem install rails","type":"text/plain","size":1076,"filename":"ror.markdown","raw_url":"https://gist.github.com/raw/2729865/1284e70f4c16550ef32a26aa4f5f0c78edaa7008/ror.markdown","language":"Markdown"}}} - -DELETE /gists/2729865 {'Authorization': 'Basic login_and_password_removed'} null +DELETE /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null 204 [('status', '204 No Content'), ('x-ratelimit-remaining', '4965'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:26:55 GMT')] diff --git a/test/ReplayData/Gist.testDeleteComment.txt b/test/ReplayData/Gist.testDeleteComment.txt deleted file mode 100644 index 09133678..00000000 --- a/test/ReplayData/Gist.testDeleteComment.txt +++ /dev/null @@ -1,15 +0,0 @@ -GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a636b99e979073297d6ca94ce1a8d1ce"'), ('date', 'Sat, 19 May 2012 07:14:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"user":{"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},"description":"Description edited by PyGithub","comments":1,"updated_at":"2012-05-19T07:06:10Z","public":true,"git_pull_url":"git://gist.github.com/2729810.git","history":[{"user":{"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},"change_status":{"total":0,"deletions":0,"additions":0},"committed_at":"2012-05-19T07:06:10Z","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472"},{"user":{"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},"change_status":{"total":1,"deletions":0,"additions":1},"committed_at":"2012-05-19T07:04:31Z","version":"e730170a9599696a9d776f8bb5028b35f937b6de","url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de"},{"user":{"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},"change_status":{"total":1,"deletions":0,"additions":1},"committed_at":"2012-05-19T07:00:58Z","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c"}],"git_push_url":"git@gist.github.com:2729810.git","url":"https://api.github.com/gists/2729810","html_url":"https://gist.github.com/2729810","id":"2729810","forks":[],"created_at":"2012-05-19T07:00:58Z","files":{"barbaz.txt":{"content":"File also created by PyGithub","type":"text/plain","size":29,"filename":"barbaz.txt","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","language":"Text"},"foobar.txt":{"content":"File created by PyGithub","type":"text/plain","size":24,"filename":"foobar.txt","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","language":"Text"}}} - -GET /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '478'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"32df971f7c0bdddde4a69a2a56144729"'), ('date', 'Sat, 19 May 2012 07:14:33 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T07:12:32Z","body":"Comment edited by PyGithub","url":"https://api.github.com/gists/comments/323629","created_at":"2012-05-19T07:07:57Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":323629} - -DELETE /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:14:33 GMT')] - - diff --git a/test/ReplayData/Gist.testEditComment.txt b/test/ReplayData/Gist.testEditComment.txt deleted file mode 100644 index 1cf84932..00000000 --- a/test/ReplayData/Gist.testEditComment.txt +++ /dev/null @@ -1,15 +0,0 @@ -GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4989'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"81f7a620c437614be12eae5458bb7cfc"'), ('date', 'Sat, 19 May 2012 07:12:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T07:06:10Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":1,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"barbaz.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"Description edited by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"deletions":0,"additions":0,"total":0},"committed_at":"2012-05-19T07:06:10Z","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:04:31Z","version":"e730170a9599696a9d776f8bb5028b35f937b6de","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]} - -GET /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('content-length', '479'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4988'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"c2581153865c9b18a576589587e1fb98"'), ('date', 'Sat, 19 May 2012 07:12:31 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/gists/comments/323629","body":"Comment created by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:07:57Z","id":323629,"user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}} - -PATCH /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"} -200 -[('status', '200 OK'), ('content-length', '478'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"cea8090368993f1fb95c32cdcf4245d3"'), ('date', 'Sat, 19 May 2012 07:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/gists/comments/323629","body":"Comment edited by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:12:32Z","id":323629,"user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}} - diff --git a/test/ReplayData/Gist.testEditWithAllParameters.txt b/test/ReplayData/Gist.testEditWithAllParameters.txt index 3857d6d5..727ae3bc 100644 --- a/test/ReplayData/Gist.testEditWithAllParameters.txt +++ b/test/ReplayData/Gist.testEditWithAllParameters.txt @@ -1,8 +1,3 @@ -GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4995'), ('content-length', '2220'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c27a9e46dabeeafd7f009cc95ed995ad"'), ('date', 'Sat, 19 May 2012 07:06:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"git_push_url":"git@gist.github.com:2729810.git","updated_at":"2012-05-19T07:04:31Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"files":{"barbaz.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"Description edited by PyGitHub","created_at":"2012-05-19T07:00:58Z","git_pull_url":"git://gist.github.com/2729810.git","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","version":"e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:04:31Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}]} - PATCH /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} {"files": {"barbaz.txt": {"content": "File also created by PyGithub"}}, "description": "Description edited by PyGithub"} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"14d4466c0580c6f8e9be17f81eb1c3b0"'), ('date', 'Sat, 19 May 2012 07:06:10 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/test/ReplayData/Gist.testEditWithoutParameters.txt b/test/ReplayData/Gist.testEditWithoutParameters.txt index ee6504ed..a78fc624 100644 --- a/test/ReplayData/Gist.testEditWithoutParameters.txt +++ b/test/ReplayData/Gist.testEditWithoutParameters.txt @@ -1,8 +1,3 @@ -GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '1446'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9d90688efdf43c600be9c6c068f007dd"'), ('date', 'Sat, 19 May 2012 07:03:54 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T07:00:58Z","git_push_url":"git@gist.github.com:2729810.git","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"files":{"foobar.txt":{"type":"text/plain","raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"Gist created by PyGithub","created_at":"2012-05-19T07:00:58Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"committed_at":"2012-05-19T07:00:58Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}],"git_pull_url":"git://gist.github.com/2729810.git"} - PATCH /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} {} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1446'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9d90688efdf43c600be9c6c068f007dd"'), ('date', 'Sat, 19 May 2012 07:03:55 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/test/ReplayData/Gist.testGetComments.txt b/test/ReplayData/Gist.testGetComments.txt index eb428981..33b77193 100644 --- a/test/ReplayData/Gist.testGetComments.txt +++ b/test/ReplayData/Gist.testGetComments.txt @@ -1,8 +1,3 @@ -GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('content-length', '2759'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4981'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"de29b22b323aa9d2a9a8befbac2342e3"'), ('date', 'Sat, 19 May 2012 07:20:32 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"git_pull_url":"git://gist.github.com/2729810.git","url":"https://api.github.com/gists/2729810","git_push_url":"git@gist.github.com:2729810.git","created_at":"2012-05-19T07:00:58Z","public":true,"history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"total":0,"deletions":0,"additions":0},"committed_at":"2012-05-19T07:06:10Z","user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","version":"e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"total":1,"deletions":0,"additions":1},"committed_at":"2012-05-19T07:04:31Z","user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"total":1,"deletions":0,"additions":1},"committed_at":"2012-05-19T07:00:58Z","user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}}],"files":{"foobar.txt":{"type":"text/plain","filename":"foobar.txt","content":"File created by PyGithub","size":24,"raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","language":"Text"},"barbaz.txt":{"type":"text/plain","filename":"barbaz.txt","content":"File also created by PyGithub","size":29,"raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","language":"Text"}},"forks":[],"comments":1,"description":"Description edited by PyGithub","updated_at":"2012-05-19T07:06:10Z","html_url":"https://gist.github.com/2729810","id":"2729810","user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}} - GET /gists/2729810/comments {'Authorization': 'Basic login_and_password_removed'} null 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '473'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ed0bedf32cc0d6f8dfe93e85ffa951cc"'), ('date', 'Sat, 19 May 2012 07:20:33 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/test/ReplayData/Gist.testStarring.txt b/test/ReplayData/Gist.testStarring.txt index f5822e71..ae1f1157 100644 --- a/test/ReplayData/Gist.testStarring.txt +++ b/test/ReplayData/Gist.testStarring.txt @@ -1,8 +1,3 @@ -GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('content-length', '2759'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4f8e6261b538d0fc14d571775f76d923"'), ('date', 'Sat, 19 May 2012 07:22:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T07:06:10Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":1,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"barbaz.txt":{"raw_url":"https://gist.github.com/raw/2729810/92be1df4e473d2541c5c166ad145a39d0324de8b/barbaz.txt","type":"text/plain","size":29,"filename":"barbaz.txt","content":"File also created by PyGithub","language":"Text"},"foobar.txt":{"raw_url":"https://gist.github.com/raw/2729810/73a1c7f17aa0ad5d7cbb5a8ca033ce47d3d23197/foobar.txt","type":"text/plain","size":24,"filename":"foobar.txt","content":"File created by PyGithub","language":"Text"}},"html_url":"https://gist.github.com/2729810","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"description":"Description edited by PyGithub","created_at":"2012-05-19T07:00:58Z","git_push_url":"git@gist.github.com:2729810.git","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/67524fb6eb4883d979e8b4cf133003fa81a6a472","change_status":{"deletions":0,"additions":0,"total":0},"version":"67524fb6eb4883d979e8b4cf133003fa81a6a472","committed_at":"2012-05-19T07:06:10Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146}},{"url":"https://api.github.com/gists/2729810/e730170a9599696a9d776f8bb5028b35f937b6de","change_status":{"deletions":0,"additions":1,"total":1},"version":"e730170a9599696a9d776f8bb5028b35f937b6de","committed_at":"2012-05-19T07:04:31Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146}},{"url":"https://api.github.com/gists/2729810/35deb29ab1caf4c68c03d8244ad674b56de01a5c","change_status":{"deletions":0,"additions":1,"total":1},"version":"35deb29ab1caf4c68c03d8244ad674b56de01a5c","committed_at":"2012-05-19T07:00:58Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146}}]} - GET /gists/2729810/star {'Authorization': 'Basic login_and_password_removed'} null 404 [('status', '404 Not Found'), ('x-ratelimit-remaining', '4975'), ('content-length', '2'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"99914b932bd37a50b983c5e7c90ae93b"'), ('date', 'Sat, 19 May 2012 07:22:29 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/test/ReplayData/GistComment.setUp.txt b/test/ReplayData/GistComment.setUp.txt new file mode 100644 index 00000000..4aecbc7f --- /dev/null +++ b/test/ReplayData/GistComment.setUp.txt @@ -0,0 +1,10 @@ +GET /gists/2729810 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '3280'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b01fb6ac81527f99db9f6f586b048ee3"'), ('date', 'Sat, 19 May 2012 06:58:15 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"updated_at":"2012-02-29T16:47:12Z","forks":[],"url":"https://api.github.com/gists/2729810","comments":0,"public":true,"git_pull_url":"git://gist.github.com/2729810.git","files":{"fail_github.py":{"type":"application/python","raw_url":"https://gist.github.com/raw/2729810/2fb3aa84e0efa50dc0f4c18b5df5b7b9ab27076b/fail_github.py","size":1636,"filename":"fail_github.py","content":"import httplib\nimport base64\nimport json\n\nlogin = \"\"\npassword = \"\"\norgName = \"\"\nrepoName = \"FailGithubApi\"\n\ndef doRequest( verb, url, input ):\n input = json.dumps( input )\n cnx = httplib.HTTPSConnection( \"api.github.com\", strict = True )\n cnx.request( verb, url, input, { \"Authorization\" : \"Basic \" + base64.b64encode( login + \":\" + password ).replace( '\\n', '' ) } )\n response = cnx.getresponse()\n status = response.status\n output = response.read()\n cnx.close()\n print verb, url, input, \"=>\", status, output\n print\n if status < 200 or status >= 300:\n exit( 1 )\n return json.loads( output )\n\n# Create a repo\ndoRequest( \"POST\", \"/user/repos\", { \"name\": repoName } )\n\n# Create a blob, a tree, a commit and the master branch\nb = doRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( login, repoName ),\n { \"content\": \"Content of the blob\", \"encoding\": \"latin1\" }\n)\nt = doRequest(\n \"POST\", \"/repos/%s/%s/git/trees\" % ( login, repoName ),\n { \"tree\" : [ { \"path\": \"foo.bar\", \"type\": \"blob\", \"mode\": \"100644\", \"sha\": b[\"sha\"] } ] }\n)\nc = doRequest(\n \"POST\", \"/repos/%s/%s/git/commits\" % ( login, repoName ),\n { \"parents\": [], \"message\": \"Message of the commit\", \"tree\": t[\"sha\"] }\n)\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/refs\" % ( login, repoName ),\n { \"ref\": \"refs/heads/master\", \"sha\": c[\"sha\"] }\n)\n\n# Fork the repo\ndoRequest( \"POST\", \"/repos/%s/%s/forks?org=%s\" % ( login, repoName, orgName ), None )\n\n# Create a new blob => BOOM error 500\ndoRequest(\n \"POST\", \"/repos/%s/%s/git/blobs\" % ( orgName, repoName ),\n { \"content\": \"Content of the new blob\", \"encoding\": \"latin1\" }\n)\n","language":"Python"}},"html_url":"https://gist.github.com/2729810","git_push_url":"git@gist.github.com:2729810.git","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"How to error 500 Github API v3, as requested by Rick (GitHub Staff)","created_at":"2012-02-29T16:47:12Z","id":"2729810","history":[{"url":"https://api.github.com/gists/2729810/a40de483e42ba33bda308371c0ef8383db73be9e","change_status":{"deletions":0,"additions":52,"total":52},"committed_at":"2012-02-29T16:47:12Z","version":"a40de483e42ba33bda308371c0ef8383db73be9e","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146}}]} + +GET /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('content-length', '479'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4988'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"c2581153865c9b18a576589587e1fb98"'), ('date', 'Sat, 19 May 2012 07:12:31 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/gists/comments/323629","body":"Comment created by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:07:57Z","id":323629,"user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}} + diff --git a/test/ReplayData/GistComment.testDelete.txt b/test/ReplayData/GistComment.testDelete.txt new file mode 100644 index 00000000..93b22e3a --- /dev/null +++ b/test/ReplayData/GistComment.testDelete.txt @@ -0,0 +1,5 @@ +DELETE /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} null +204 +[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 07:14:33 GMT')] + + diff --git a/test/ReplayData/GistComment.testEdit.txt b/test/ReplayData/GistComment.testEdit.txt new file mode 100644 index 00000000..9a3fbb96 --- /dev/null +++ b/test/ReplayData/GistComment.testEdit.txt @@ -0,0 +1,5 @@ +PATCH /gists/comments/323629 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"} +200 +[('status', '200 OK'), ('content-length', '478'), ('x-ratelimit-limit', '5000'), ('x-ratelimit-remaining', '4987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"cea8090368993f1fb95c32cdcf4245d3"'), ('date', 'Sat, 19 May 2012 07:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/gists/comments/323629","body":"Comment edited by PyGithub","created_at":"2012-05-19T07:07:57Z","updated_at":"2012-05-19T07:12:32Z","id":323629,"user":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146}} + diff --git a/test/ReplayData/GitBlob.setUp.txt b/test/ReplayData/GitBlob.setUp.txt index ad520fb9..bdd4a181 100644 --- a/test/ReplayData/GitBlob.setUp.txt +++ b/test/ReplayData/GitBlob.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4970'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"156b4bd24ab7a88fd5e1c851f71eea20"'), ('date', 'Thu, 10 May 2012 19:05:13 GMT'), ('content-type', 'application/json; charset=utf-8')] {"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","login":"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","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:49:21Z","id":3544490,"mirror_url":null,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:49:21Z"} +GET /repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '1987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4b96ab346d46fbc2a409711500d54f42"'), ('date', 'Thu, 10 May 2012 19:05:16 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","encoding":"base64","content":"IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\nICdQeUdpdGh1YicsCiAgICB2ZXJzaW9uID0gJzAuNicsCiAgICBkZXNjcmlw\ndGlvbiA9ICdVc2UgdGhlIGZ1bGwgR2l0aHViIEFQSSB2MycsCiAgICBhdXRo\nb3IgPSAnVmluY2VudCBKYWNxdWVzJywKICAgIGF1dGhvcl9lbWFpbCA9ICd2\naW5jZW50QHZpbmNlbnQtamFjcXVlcy5uZXQnLAogICAgdXJsID0gJ2h0dHA6\nLy92aW5jZW50LWphY3F1ZXMubmV0L1B5R2l0aHViJywKICAgIGxvbmdfZGVz\nY3JpcHRpb24gPSB0ZXh0d3JhcC5kZWRlbnQoICIiIlwKICAgICAgICBUdXRv\ncmlhbAogICAgICAgID09PT09PT09CgogICAgICAgIEZpcnN0IGNyZWF0ZSBh\nIEdpaHViIGluc3RhbmNlOjoKCiAgICAgICAgICAgIGZyb20gZ2l0aHViIGlt\ncG9ydCBHaXRodWIKCiAgICAgICAgICAgIGcgPSBHaXRodWIoICJ1c2VyIiwg\nInBhc3N3b3JkIiApCgogICAgICAgIFRoZW4gcGxheSB3aXRoIHlvdXIgR2l0\naHViIG9iamVjdHM6OgoKICAgICAgICAgICAgZm9yIHJlcG8gaW4gZy5nZXRf\ndXNlcigpLmdldF9yZXBvcygpOgogICAgICAgICAgICAgICAgcHJpbnQgcmVw\nby5uYW1lCiAgICAgICAgICAgICAgICByZXBvLmVkaXQoIGhhc193aWtpID0g\nRmFsc2UgKQoKICAgICAgICBSZWZlcmVuY2UgZG9jdW1lbnRhdGlvbgogICAg\nICAgID09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIFNlZSBodHRw\nOi8vdmluY2VudC1qYWNxdWVzLm5ldC9QeUdpdGh1YiIiIiApLAogICAgcGFj\na2FnZXMgPSBbCiAgICAgICAgJ2dpdGh1YicsCiAgICAgICAgJ2dpdGh1Yi5H\naXRodWJPYmplY3RzJywKICAgICAgICAnZ2l0aHViLkdpdGh1Yk9iamVjdHMu\nR2l0aHViT2JqZWN0JywKICAgIF0sCiAgICBjbGFzc2lmaWVycz1bCiAgICAg\nICAgIkRldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YSIsCiAgICAgICAg\nIkVudmlyb25tZW50IDo6IFdlYiBFbnZpcm9ubWVudCIsCiAgICAgICAgIklu\ndGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMiLAogICAgICAgICJMaWNl\nbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBHTlUgTGlicmFyeSBvciBMZXNzZXIg\nR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoTEdQTCkiLAogICAgICAgICJPcGVy\nYXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50IiwKICAgICAgICAiUHJv\nZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667"} + diff --git a/test/ReplayData/GitBlob.testAttributes.txt b/test/ReplayData/GitBlob.testAttributes.txt deleted file mode 100644 index 7b69087f..00000000 --- a/test/ReplayData/GitBlob.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4969'), ('content-length', '1987'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4b96ab346d46fbc2a409711500d54f42"'), ('date', 'Thu, 10 May 2012 19:05:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","encoding":"base64","content":"IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIGRpc3R1dGlscy5jb3JlIGlt\ncG9ydCBzZXR1cAppbXBvcnQgdGV4dHdyYXAKCnNldHVwKAogICAgbmFtZSA9\nICdQeUdpdGh1YicsCiAgICB2ZXJzaW9uID0gJzAuNicsCiAgICBkZXNjcmlw\ndGlvbiA9ICdVc2UgdGhlIGZ1bGwgR2l0aHViIEFQSSB2MycsCiAgICBhdXRo\nb3IgPSAnVmluY2VudCBKYWNxdWVzJywKICAgIGF1dGhvcl9lbWFpbCA9ICd2\naW5jZW50QHZpbmNlbnQtamFjcXVlcy5uZXQnLAogICAgdXJsID0gJ2h0dHA6\nLy92aW5jZW50LWphY3F1ZXMubmV0L1B5R2l0aHViJywKICAgIGxvbmdfZGVz\nY3JpcHRpb24gPSB0ZXh0d3JhcC5kZWRlbnQoICIiIlwKICAgICAgICBUdXRv\ncmlhbAogICAgICAgID09PT09PT09CgogICAgICAgIEZpcnN0IGNyZWF0ZSBh\nIEdpaHViIGluc3RhbmNlOjoKCiAgICAgICAgICAgIGZyb20gZ2l0aHViIGlt\ncG9ydCBHaXRodWIKCiAgICAgICAgICAgIGcgPSBHaXRodWIoICJ1c2VyIiwg\nInBhc3N3b3JkIiApCgogICAgICAgIFRoZW4gcGxheSB3aXRoIHlvdXIgR2l0\naHViIG9iamVjdHM6OgoKICAgICAgICAgICAgZm9yIHJlcG8gaW4gZy5nZXRf\ndXNlcigpLmdldF9yZXBvcygpOgogICAgICAgICAgICAgICAgcHJpbnQgcmVw\nby5uYW1lCiAgICAgICAgICAgICAgICByZXBvLmVkaXQoIGhhc193aWtpID0g\nRmFsc2UgKQoKICAgICAgICBSZWZlcmVuY2UgZG9jdW1lbnRhdGlvbgogICAg\nICAgID09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIFNlZSBodHRw\nOi8vdmluY2VudC1qYWNxdWVzLm5ldC9QeUdpdGh1YiIiIiApLAogICAgcGFj\na2FnZXMgPSBbCiAgICAgICAgJ2dpdGh1YicsCiAgICAgICAgJ2dpdGh1Yi5H\naXRodWJPYmplY3RzJywKICAgICAgICAnZ2l0aHViLkdpdGh1Yk9iamVjdHMu\nR2l0aHViT2JqZWN0JywKICAgIF0sCiAgICBjbGFzc2lmaWVycz1bCiAgICAg\nICAgIkRldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YSIsCiAgICAgICAg\nIkVudmlyb25tZW50IDo6IFdlYiBFbnZpcm9ubWVudCIsCiAgICAgICAgIklu\ndGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMiLAogICAgICAgICJMaWNl\nbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBHTlUgTGlicmFyeSBvciBMZXNzZXIg\nR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoTEdQTCkiLAogICAgICAgICJPcGVy\nYXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50IiwKICAgICAgICAiUHJv\nZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIiwKICAgICAgICAiVG9waWMg\nOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQiLAogICAgXSwKKQo=\n","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667"} - diff --git a/test/ReplayData/GitCommit.setUp.txt b/test/ReplayData/GitCommit.setUp.txt index 6c5324c5..040931af 100644 --- a/test/ReplayData/GitCommit.setUp.txt +++ b/test/ReplayData/GitCommit.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"72a84ed8ad0d83f6a4c09dcd388c20a1"'), ('date', 'Thu, 10 May 2012 19:05:27 GMT'), ('content-type', 'application/json; charset=utf-8')] {"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","git_url":"git://github.com/jacquev6/PyGithub.git","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:49:21Z","id":3544490,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:49:21Z"} +GET /repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '910'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eabd190c639b57d447ea6d3463da7aae"'), ('date', 'Thu, 10 May 2012 19:05:28 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","message":"Merge branch 'develop'\n","committer":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"},"sha":"4303c5b90e2216d927155e9609436ccb8984c495","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb"}],"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad"},"author":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"}} + diff --git a/test/ReplayData/GitCommit.testAttributes.txt b/test/ReplayData/GitCommit.testAttributes.txt deleted file mode 100644 index f63fc923..00000000 --- a/test/ReplayData/GitCommit.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '910'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"eabd190c639b57d447ea6d3463da7aae"'), ('date', 'Thu, 10 May 2012 19:05:28 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","message":"Merge branch 'develop'\n","committer":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"},"sha":"4303c5b90e2216d927155e9609436ccb8984c495","parents":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/2a7e80e6421c5d4d201d60619068dea6bae612cb","sha":"2a7e80e6421c5d4d201d60619068dea6bae612cb"}],"tree":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad"},"author":{"email":"vincent@vincent-jacques.net","date":"2012-04-17T10:55:16-07:00","name":"Vincent Jacques"}} - diff --git a/test/ReplayData/GitRef.setUp.txt b/test/ReplayData/GitRef.setUp.txt index 16a04fd2..2afffdfd 100644 --- a/test/ReplayData/GitRef.setUp.txt +++ b/test/ReplayData/GitRef.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"82dfa2c767e249ed2a1703529101f0aa"'), ('date', 'Thu, 10 May 2012 18:49:18 GMT'), ('content-type', 'application/json; charset=utf-8')] {"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:14:23Z","id":3544490,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:14:23Z"} +GET /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '336'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ef55032f07a176e09c65b2ac524c2ecf"'), ('date', 'Thu, 10 May 2012 14:38:00 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","type":"commit","sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a"},"ref":"refs/heads/BranchCreatedByPyGithub"} + diff --git a/test/ReplayData/GitRef.testAttributes.txt b/test/ReplayData/GitRef.testAttributes.txt deleted file mode 100644 index dd879017..00000000 --- a/test/ReplayData/GitRef.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/git/refs/heads/topic/RewriteWithGeneratedCode {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '336'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ef55032f07a176e09c65b2ac524c2ecf"'), ('date', 'Thu, 10 May 2012 14:38:00 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/topic/RewriteWithGeneratedCode","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/1292bf0e22c796e91cc3d6e24b544aece8c21f2a","type":"commit","sha":"1292bf0e22c796e91cc3d6e24b544aece8c21f2a"},"ref":"refs/heads/topic/RewriteWithGeneratedCode"} - diff --git a/test/ReplayData/GitRef.testCreateEditDelete.txt b/test/ReplayData/GitRef.testCreateEditDelete.txt deleted file mode 100644 index 3be08ba7..00000000 --- a/test/ReplayData/GitRef.testCreateEditDelete.txt +++ /dev/null @@ -1,20 +0,0 @@ -POST /repos/jacquev6/PyGithub/git/refs {'Authorization': 'Basic login_and_password_removed'} {"sha": "4303c5b90e2216d927155e9609436ccb8984c495", "ref": "refs/heads/BranchCreatedByPyGithub"} -201 -[('status', '201 Created'), ('x-ratelimit-remaining', '4987'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0302e489fc6bd534afa44cdbec1227e7"'), ('date', 'Thu, 10 May 2012 18:49:19 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub')] -{"object":{"type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495"},"ref":"refs/heads/BranchCreatedByPyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub"} - -PATCH /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} {"sha": "04cde900a0775b51f762735637bd30de392a2793"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ced480ad69948233f6520f7cd945eb34"'), ('date', 'Thu, 10 May 2012 18:49:20 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/04cde900a0775b51f762735637bd30de392a2793","type":"commit","sha":"04cde900a0775b51f762735637bd30de392a2793"},"ref":"refs/heads/BranchCreatedByPyGithub"} - -PATCH /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} {"sha": "4303c5b90e2216d927155e9609436ccb8984c495", "force": true} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fb39f29de1defbab14def8a331d00c69"'), ('date', 'Thu, 10 May 2012 18:49:21 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"ref":"refs/heads/BranchCreatedByPyGithub"} - -DELETE /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Thu, 10 May 2012 18:49:22 GMT')] - - diff --git a/test/ReplayData/GitRef.testDelete.txt b/test/ReplayData/GitRef.testDelete.txt new file mode 100644 index 00000000..4e593e79 --- /dev/null +++ b/test/ReplayData/GitRef.testDelete.txt @@ -0,0 +1,5 @@ +DELETE /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null +204 +[('status', '204 No Content'), ('x-ratelimit-remaining', '4984'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Thu, 10 May 2012 18:49:22 GMT')] + + diff --git a/test/ReplayData/GitRef.testEdit.txt b/test/ReplayData/GitRef.testEdit.txt new file mode 100644 index 00000000..d5daf64f --- /dev/null +++ b/test/ReplayData/GitRef.testEdit.txt @@ -0,0 +1,5 @@ +PATCH /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} {"sha": "04cde900a0775b51f762735637bd30de392a2793"} +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ced480ad69948233f6520f7cd945eb34"'), ('date', 'Thu, 10 May 2012 18:49:20 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/04cde900a0775b51f762735637bd30de392a2793","type":"commit","sha":"04cde900a0775b51f762735637bd30de392a2793"},"ref":"refs/heads/BranchCreatedByPyGithub"} + diff --git a/test/ReplayData/GitRef.testEditWithForce.txt b/test/ReplayData/GitRef.testEditWithForce.txt new file mode 100644 index 00000000..867fbd5d --- /dev/null +++ b/test/ReplayData/GitRef.testEditWithForce.txt @@ -0,0 +1,5 @@ +PATCH /repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub {'Authorization': 'Basic login_and_password_removed'} {"sha": "4303c5b90e2216d927155e9609436ccb8984c495", "force": true} +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fb39f29de1defbab14def8a331d00c69"'), ('date', 'Thu, 10 May 2012 18:49:21 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"ref":"refs/heads/BranchCreatedByPyGithub"} + diff --git a/test/ReplayData/GitTag.setUp.txt b/test/ReplayData/GitTag.setUp.txt index f4c2b5cf..db876db0 100644 --- a/test/ReplayData/GitTag.setUp.txt +++ b/test/ReplayData/GitTag.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4979'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b297a1eb78f994e828d8b625dae93910"'), ('date', 'Thu, 10 May 2012 19:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')] {"homepage":"http://vincent-jacques.net/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","has_downloads":true,"watchers":13,"permissions":{"admin":true,"pull":true,"push":true},"mirror_url":null,"git_url":"git://github.com/jacquev6/PyGithub.git","has_wiki":false,"has_issues":true,"fork":false,"forks":2,"language":"Python","size":196,"description":"Python library implementing the full Github API v3","private":false,"created_at":"2012-02-25T12:53:47Z","open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"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","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","id":327146},"name":"PyGithub","pushed_at":"2012-05-10T18:49:21Z","id":3544490,"ssh_url":"git@github.com:jacquev6/PyGithub.git","updated_at":"2012-05-10T18:49:21Z"} +GET /repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '487'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1dd282b50e691f8f162ef9355dad8771"'), ('date', 'Thu, 10 May 2012 19:03:19 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c","tag":"v0.6","message":"Version 0.6\n","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"tagger":{"email":"vincent@vincent-jacques.net","date":"2012-05-10T11:14:15-07:00","name":"Vincent Jacques"},"sha":"f5f37322407b02a80de4526ad88d5f188977bc3c"} + diff --git a/test/ReplayData/GitTag.testAttributes.txt b/test/ReplayData/GitTag.testAttributes.txt deleted file mode 100644 index 4614b0b3..00000000 --- a/test/ReplayData/GitTag.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4978'), ('content-length', '487'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1dd282b50e691f8f162ef9355dad8771"'), ('date', 'Thu, 10 May 2012 19:03:19 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/tags/f5f37322407b02a80de4526ad88d5f188977bc3c","tag":"v0.6","message":"Version 0.6\n","object":{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495","type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495"},"tagger":{"email":"vincent@vincent-jacques.net","date":"2012-05-10T11:14:15-07:00","name":"Vincent Jacques"},"sha":"f5f37322407b02a80de4526ad88d5f188977bc3c"} - diff --git a/test/ReplayData/GitTree.setUp.txt b/test/ReplayData/GitTree.setUp.txt index 7846ed57..04cecdef 100644 --- a/test/ReplayData/GitTree.setUp.txt +++ b/test/ReplayData/GitTree.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"80c85d7120a6d887a451a951adbfbe8e"'), ('date', 'Thu, 10 May 2012 19:03:08 GMT'), ('content-type', 'application/json; charset=utf-8')] {"updated_at":"2012-05-10T18:49:21Z","html_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"homepage":"http://vincent-jacques.net/PyGithub","forks":2,"git_url":"git://github.com/jacquev6/PyGithub.git","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","pushed_at":"2012-05-10T18:49:21Z","language":"Python","size":196,"private":false,"clone_url":"https://github.com/jacquev6/PyGithub.git","created_at":"2012-02-25T12:53:47Z","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","mirror_url":null,"has_downloads":true,"watchers":13,"description":"Python library implementing the full Github API v3","id":3544490,"permissions":{"admin":true,"pull":true,"push":true}} +GET /repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '2588'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d37c2285c7bc31e9c29a9e36808b12bc"'), ('date', 'Thu, 10 May 2012 19:03:09 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad","tree":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","type":"blob","size":53,"sha":"8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","path":".gitignore","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","type":"blob","size":1832,"sha":"7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","path":"Design.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/82be8f1b97c4cfb005ad9ce8b8215c2f71470630","type":"blob","size":28643,"sha":"82be8f1b97c4cfb005ad9ce8b8215c2f71470630","path":"IntegrationTest.py","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8da6802f0b9d4acd1945440053dfd6be3ee80c95","type":"blob","size":3153,"sha":"8da6802f0b9d4acd1945440053dfd6be3ee80c95","path":"ReadMe.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3ee24565835d6a352e0ce37b1f2413572f55e368","type":"blob","size":12687,"sha":"3ee24565835d6a352e0ce37b1f2413572f55e368","path":"ReferenceOfApis.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","type":"blob","size":15967,"sha":"af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","path":"ReferenceOfClasses.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb","type":"tree","sha":"60b4602b2c2070246c5df078fb7a5150b45815eb","path":"ReplayDataForIntegrationTest","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/61cfa6bc84a562c134770b1e10445e7b810dbc26","type":"blob","size":320,"sha":"61cfa6bc84a562c134770b1e10445e7b810dbc26","path":"RoadMap.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/929f19535e74d80fb117aa021742ce2556ddc9a2","type":"tree","sha":"929f19535e74d80fb117aa021742ce2556ddc9a2","path":"github","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","type":"blob","size":673,"sha":"9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","path":"run_tests.sh","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","type":"blob","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667","path":"setup.py","mode":"100644"}]} + diff --git a/test/ReplayData/GitTree.testAttributes.txt b/test/ReplayData/GitTree.testAttributes.txt deleted file mode 100644 index bf499fd9..00000000 --- a/test/ReplayData/GitTree.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '2588'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d37c2285c7bc31e9c29a9e36808b12bc"'), ('date', 'Thu, 10 May 2012 19:03:09 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/f492784d8ca837779650d1fb406a1a3587a764ad","sha":"f492784d8ca837779650d1fb406a1a3587a764ad","tree":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","type":"blob","size":53,"sha":"8a9af1462c3f4e3358315c2d2e6ef1e7334c59dd","path":".gitignore","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","type":"blob","size":1832,"sha":"7863d93a3ef3700fd05d2e0e6b9c1b5161c4572b","path":"Design.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/82be8f1b97c4cfb005ad9ce8b8215c2f71470630","type":"blob","size":28643,"sha":"82be8f1b97c4cfb005ad9ce8b8215c2f71470630","path":"IntegrationTest.py","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/8da6802f0b9d4acd1945440053dfd6be3ee80c95","type":"blob","size":3153,"sha":"8da6802f0b9d4acd1945440053dfd6be3ee80c95","path":"ReadMe.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/3ee24565835d6a352e0ce37b1f2413572f55e368","type":"blob","size":12687,"sha":"3ee24565835d6a352e0ce37b1f2413572f55e368","path":"ReferenceOfApis.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","type":"blob","size":15967,"sha":"af9d09559eb6dae86af23b81e6ddcebfa4dc37e6","path":"ReferenceOfClasses.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/60b4602b2c2070246c5df078fb7a5150b45815eb","type":"tree","sha":"60b4602b2c2070246c5df078fb7a5150b45815eb","path":"ReplayDataForIntegrationTest","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/61cfa6bc84a562c134770b1e10445e7b810dbc26","type":"blob","size":320,"sha":"61cfa6bc84a562c134770b1e10445e7b810dbc26","path":"RoadMap.md","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/trees/929f19535e74d80fb117aa021742ce2556ddc9a2","type":"tree","sha":"929f19535e74d80fb117aa021742ce2556ddc9a2","path":"github","mode":"040000"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","type":"blob","size":673,"sha":"9532bcaa5fcc0a9d3678b3e4fd05688e32d2a321","path":"run_tests.sh","mode":"100644"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/git/blobs/53bce9fa919b4544e67275089b3ec5b44be20667","type":"blob","size":1295,"sha":"53bce9fa919b4544e67275089b3ec5b44be20667","path":"setup.py","mode":"100644"}]} - diff --git a/test/ReplayData/Gist.testGetAll.txt b/test/ReplayData/Github.testGetGists.txt similarity index 100% rename from test/ReplayData/Gist.testGetAll.txt rename to test/ReplayData/Github.testGetGists.txt diff --git a/test/ReplayData/Hook.setUp.txt b/test/ReplayData/Hook.setUp.txt index 3f799126..8989a78d 100644 --- a/test/ReplayData/Hook.setUp.txt +++ b/test/ReplayData/Hook.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9980e3e204ce293ebdb8dc90ff290268"'), ('date', 'Sat, 19 May 2012 05:09:00 GMT'), ('content-type', 'application/json; charset=utf-8')] {"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T20:30:15Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T20:30:14Z","size":220,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} +GET /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"73e795da2a2d325298007f3b78822b98"'), ('date', 'Sat, 19 May 2012 06:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"updated_at":"2012-05-19T06:02:36Z","last_response":{"status":"unused","message":null,"code":null},"events":["push"],"url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","active":true,"name":"web","config":{"url":"http://foobar.com"},"id":257993,"created_at":"2012-05-19T06:01:45Z"} + diff --git a/test/ReplayData/Hook.testDelete.txt b/test/ReplayData/Hook.testDelete.txt index 27d52f2d..f7e7d0e2 100644 --- a/test/ReplayData/Hook.testDelete.txt +++ b/test/ReplayData/Hook.testDelete.txt @@ -1,9 +1,4 @@ -GET /repos/jacquev6/PyGithub/hooks/257967 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '303'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a686c4d4f706840e166ebafdfd05f41f"'), ('date', 'Sat, 19 May 2012 05:09:01 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T05:08:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257967","config":{"url":"http://foobar.com/hook"},"last_response":{"status":"unused","message":null,"code":null},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257967} - -DELETE /repos/jacquev6/PyGithub/hooks/257967 {'Authorization': 'Basic login_and_password_removed'} null +DELETE /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} null 204 [('status', '204 No Content'), ('x-ratelimit-remaining', '4986'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 05:09:01 GMT')] diff --git a/test/ReplayData/Hook.testEditWithAllParameters.txt b/test/ReplayData/Hook.testEditWithAllParameters.txt index 87da9bad..3f8e878f 100644 --- a/test/ReplayData/Hook.testEditWithAllParameters.txt +++ b/test/ReplayData/Hook.testEditWithAllParameters.txt @@ -1,8 +1,3 @@ -GET /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4988'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"73e795da2a2d325298007f3b78822b98"'), ('date', 'Sat, 19 May 2012 06:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T06:02:36Z","last_response":{"status":"unused","message":null,"code":null},"events":["push"],"url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","active":true,"name":"web","config":{"url":"http://foobar.com"},"id":257993,"created_at":"2012-05-19T06:01:45Z"} - PATCH /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} {"config": {"url": "http://foobar.com"}, "name": "web", "events": ["fork", "push"]} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4987'), ('content-length', '305'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"43f8b86dbc2f5bbfde20abb9d9142206"'), ('date', 'Sat, 19 May 2012 06:03:18 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/test/ReplayData/Hook.testEditWithMinimalParameters.txt b/test/ReplayData/Hook.testEditWithMinimalParameters.txt index 5025f309..4d43f22d 100644 --- a/test/ReplayData/Hook.testEditWithMinimalParameters.txt +++ b/test/ReplayData/Hook.testEditWithMinimalParameters.txt @@ -1,10 +1,5 @@ -GET /repos/jacquev6/PyGithub/hooks/257967 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7be10de17b101889781f9b1fde89d38f"'), ('date', 'Sat, 19 May 2012 05:08:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"last_response":{"status":"unused","message":null,"code":null},"updated_at":"2012-05-19T05:03:14Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257967","config":{"url":"http://foobar.com"},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257967} - -PATCH /repos/jacquev6/PyGithub/hooks/257967 {'Authorization': 'Basic login_and_password_removed'} {"config": {"url": "http://foobar.com/hook"}, "name": "web"} +PATCH /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} {"config": {"url": "http://foobar.com/hook"}, "name": "web"} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4990'), ('content-length', '303'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"8628a600a78bd5171c9e8d23b1ec22de"'), ('date', 'Sat, 19 May 2012 05:08:16 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"last_response":{"status":"unused","message":null,"code":null},"updated_at":"2012-05-19T05:08:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257967","config":{"url":"http://foobar.com/hook"},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257967} +{"last_response":{"status":"unused","message":null,"code":null},"updated_at":"2012-05-19T05:08:16Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","config":{"url":"http://foobar.com/hook"},"active":true,"events":["push"],"name":"web","created_at":"2012-05-19T05:03:14Z","id":257993} diff --git a/test/ReplayData/Hook.testTest.txt b/test/ReplayData/Hook.testTest.txt index c54d0716..69201745 100644 --- a/test/ReplayData/Hook.testTest.txt +++ b/test/ReplayData/Hook.testTest.txt @@ -1,8 +1,3 @@ -GET /repos/jacquev6/PyGithub/hooks/257993 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '298'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f4a973ea4a9c930d4a89ea010190c734"'), ('date', 'Sat, 19 May 2012 06:04:06 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-19T06:03:20Z","url":"https://api.github.com/repos/jacquev6/PyGithub/hooks/257993","config":{"url":"http://foobar.com"},"active":true,"last_response":{"status":"unused","message":null,"code":null},"events":["push"],"name":"web","created_at":"2012-05-19T06:01:45Z","id":257993} - POST /repos/jacquev6/PyGithub/hooks/257993/test {'Authorization': 'Basic login_and_password_removed'} null 204 [('status', '204 No Content'), ('x-ratelimit-remaining', '4980'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 06:04:06 GMT')] diff --git a/test/ReplayData/Issue.setUp.txt b/test/ReplayData/Issue.setUp.txt index 27e776cf..0e76fde9 100644 --- a/test/ReplayData/Issue.setUp.txt +++ b/test/ReplayData/Issue.setUp.txt @@ -1,10 +1,15 @@ GET /user {'Authorization': 'Basic login_and_password_removed'} null 200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4999'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"f76b5cd2cfc8c74f78bd97418b642046"'), ('date', 'Fri, 18 May 2012 19:30:30 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"collaborators":0,"type":"User","bio":"","public_gists":1,"company":"Criteo","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","total_private_repos":5,"public_repos":11,"private_gists":5,"plan":{"collaborators":1,"private_repos":5,"name":"micro","space":614400},"followers":13,"owned_private_repos":5,"login":"jacquev6","blog":"http://vincent-jacques.net","email":"vincent@vincent-jacques.net","disk_usage":16852,"html_url":"https://github.com/jacquev6","name":"Vincent Jacques","created_at":"2010-07-09T06:10:06Z","location":"Paris, France","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146,"following":24,"hireable":false} +[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9459b6e1e4805aad5e10d13344d6ffbf"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"public_repos":11,"type":"User","hireable":false,"disk_usage":17080,"blog":"http://vincent-jacques.net","bio":"","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","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"owned_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","collaborators":0,"public_gists":3,"email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","private_gists":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null 200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"7c62781b2ce6aff41b69c602184160ba"'), ('date', 'Fri, 18 May 2012 19:30:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T05:29:54Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T05:18:16Z","mirror_url":null,"size":304,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} +[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5dc65a168cf4d957347ea04221cd5102"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T11:25:48Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} + +GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '2258'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"071cb2b8bfef81f56b94d7d9397e6aa4"'), ('date', 'Sat, 26 May 2012 14:59:40 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546,"closed_issues":3},"number":28,"closed_by":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4653757,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"} diff --git a/test/ReplayData/Issue.testAttributes.txt b/test/ReplayData/Issue.testAttributes.txt deleted file mode 100644 index bb054b49..00000000 --- a/test/ReplayData/Issue.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/issues/1 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '1997'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"b7e46583baa189706dc79bb9ad16b23b"'), ('date', 'Fri, 18 May 2012 19:30:34 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"closed_by":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"state":"closed","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"title":"Gitub -> Github everywhere","comments":0,"updated_at":"2012-03-12T20:46:35Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":"2012-03-12T20:46:35Z","body":"","number":1,"milestone":{"due_on":"2012-03-13T07:00:00Z","state":"closed","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"description":"","title":"Version 0.4","open_issues":0,"closed_issues":2,"number":1,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","id":93546,"created_at":"2012-03-08T12:22:10Z"},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/1","assignee":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"labels":[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"}],"id":3397707,"html_url":"https://github.com/jacquev6/PyGithub/issues/1","created_at":"2012-02-27T09:11:14Z"} - diff --git a/test/ReplayData/Issue.testCommentAttributes.txt b/test/ReplayData/Issue.testCommentAttributes.txt deleted file mode 100644 index 499c4d71..00000000 --- a/test/ReplayData/Issue.testCommentAttributes.txt +++ /dev/null @@ -1,10 +0,0 @@ -GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4986'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e8b679df4af9d70072857162b3a62313"'), ('date', 'Sun, 20 May 2012 11:50:55 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"updated_at":"2012-05-20T11:46:43Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":1,"number":28,"title":"Title edited by PyGithub","pull_request":{"diff_url":null,"html_url":null,"patch_url":null},"closed_at":null,"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4653757,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"number":2,"open_issues":11,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","closed_issues":1,"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547}} - -GET /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4fa1a8e8e534bcc93123ea6ee8fd4284"'), ('date', 'Sun, 20 May 2012 11:50:56 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":5808311} - diff --git a/test/ReplayData/Issue.testComments.txt b/test/ReplayData/Issue.testComments.txt deleted file mode 100644 index a9cf49f7..00000000 --- a/test/ReplayData/Issue.testComments.txt +++ /dev/null @@ -1,10 +0,0 @@ -GET /repos/jacquev6/PyGithub/issues/24 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '2945'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bd0bf26024bb20283dc017ee0099a60a"'), ('date', 'Sat, 26 May 2012 09:43:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-04T19:23:57Z","body":"Thanks for PyGithub, it is easy to use and very complete. I just successfully used it to convert Trac tickets to Guthub issues.\r\n\r\nBut I had to learn the hard way that `create_issue()` expectes the milestone as number instead of a title. To track this down, I added the following `print` statement to `Requester.py`:\r\n\r\n```python\r\ndef __statusCheckedRequest( self, verb, url, parameters, input ):\r\n status, headers, output = self.__rawRequest( verb, url, parameters, input )\r\n if status < 200 or status >= 300:\r\n print output # <--- Added by me.\r\n raise UnknownGithubObject() # <--- sadly lacks any error details\r\n return headers, output\r\n```\r\n\r\nAs `output` already contains all the information needed (as JSON dump), it would be helpful if the exception raised here would include this information in the exception message.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/24","comments":2,"milestone":{"closed_issues":2,"creator":{"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/repos/jacquev6/PyGithub/milestones/2","number":2,"title":"Version 1.0: coherent public interface","due_on":"2012-06-04T07:00:00Z","open_issues":9,"created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547},"number":24,"closed_by":null,"assignee":{"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},"closed_at":null,"title":"Improve error messages on broken requests","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"}],"created_at":"2012-04-30T20:01:20Z","state":"open","user":{"url":"https://api.github.com/users/roskakori","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","login":"roskakori","id":328726},"id":4356743,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/24"} - -GET /repos/jacquev6/PyGithub/issues/24/comments {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '1820'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bab5fb77d873847d153979f7fcd7e0f1"'), ('date', 'Sat, 26 May 2012 09:43:03 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-01T22:03:59Z","body":"Thank you for the suggestion. It's somehow related to https://github.com/jacquev6/PyGithub/issues/6, even if I have not described it in details.\r\n\r\nI'm currently doing a very deep rewrite, which will lead to much more readable stack traces in case of exceptions, and I will include more details about the error. I may also be able to detect type errors *before* sending the request to github.\r\n\r\nBy the way, I'm very glad to hear that you have solved a real-life use case using PyGithub :-)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5449237","id":5449237,"created_at":"2012-05-01T22:03:59Z"},{"user":{"gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roskakori","login":"roskakori","id":328726},"updated_at":"2012-05-04T19:23:57Z","body":"Good to hear you are already working on this in #6, so I suppose this can be tagged as duplicate and be closed.\r\n\r\nBTW, I cleaned up my script to convert Trac tickets to Github issues and uploaded it to PyPI: http://pypi.python.org/pypi/tratihubis/. It seems that at least some people find it useful, so hopefully it helps to popularize PyGithub a little.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5518272","id":5518272,"created_at":"2012-05-04T19:23:57Z"}] - diff --git a/test/ReplayData/Issue.testCreateComment.txt b/test/ReplayData/Issue.testCreateComment.txt index ad8e5304..04007832 100644 --- a/test/ReplayData/Issue.testCreateComment.txt +++ b/test/ReplayData/Issue.testCreateComment.txt @@ -1,8 +1,3 @@ -GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"dd40e87b20ed69020848a364c77d6f32"'), ('date', 'Sun, 20 May 2012 11:46:42 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"updated_at":"2012-05-19T10:42:25Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"number":28,"title":"Title edited by PyGithub","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"closed_at":null,"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":4653757,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"number":2,"open_issues":11,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547,"closed_issues":1}} - POST /repos/jacquev6/PyGithub/issues/28/comments {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment created by PyGithub"} 201 [('status', '201 Created'), ('x-ratelimit-remaining', '4996'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"08cea7c821f6f3378e38921a9e7bc05e"'), ('date', 'Sun, 20 May 2012 11:46:43 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311')] diff --git a/test/ReplayData/Issue.testDeleteComment.txt b/test/ReplayData/Issue.testDeleteComment.txt deleted file mode 100644 index a23aba60..00000000 --- a/test/ReplayData/Issue.testDeleteComment.txt +++ /dev/null @@ -1,15 +0,0 @@ -GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4977'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"829071cb0599641d271fbe054ab8d4d6"'), ('date', 'Sun, 20 May 2012 11:57:10 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"updated_at":"2012-05-20T11:53:59Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":1,"number":28,"title":"Title edited by PyGithub","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"closed_at":null,"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":4653757,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"closed_issues":1,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"number":2,"open_issues":11,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547}} - -GET /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4976'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4cfc67d3d0dfa8a089cf81f6e1c8a5d0"'), ('date', 'Sun, 20 May 2012 11:57:11 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-20T11:53:59Z","body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":5808311} - -DELETE /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null -204 -[('status', '204 No Content'), ('x-ratelimit-remaining', '4975'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 11:57:12 GMT')] - - diff --git a/test/ReplayData/Issue.testEditComment.txt b/test/ReplayData/Issue.testEditComment.txt deleted file mode 100644 index c0899487..00000000 --- a/test/ReplayData/Issue.testEditComment.txt +++ /dev/null @@ -1,15 +0,0 @@ -GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4982'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"99394deb49d92786c59729b2c9bafedc"'), ('date', 'Sun, 20 May 2012 11:53:58 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"updated_at":"2012-05-20T11:46:43Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":1,"number":28,"title":"Title edited by PyGithub","pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"closed_at":null,"labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":4653757,"milestone":{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"closed_issues":1,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"number":2,"open_issues":11,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547}} - -GET /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4981'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5fbf9b4d629ac863b94c51970c289d1b"'), ('date', 'Sun, 20 May 2012 11:53:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"id":5808311} - -PATCH /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"} -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1599061186ef7ca2dbf5bdee1711746a"'), ('date', 'Sun, 20 May 2012 11:53:59 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"updated_at":"2012-05-20T11:53:59Z","body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":5808311} - diff --git a/test/ReplayData/Issue.testEditWithAllParameters.txt b/test/ReplayData/Issue.testEditWithAllParameters.txt index 75540b90..25ae608a 100644 --- a/test/ReplayData/Issue.testEditWithAllParameters.txt +++ b/test/ReplayData/Issue.testEditWithAllParameters.txt @@ -1,8 +1,3 @@ -GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '748'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c7997bf84a819e63740714551d52e876"'), ('date', 'Sat, 19 May 2012 10:42:25 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"assignee":null,"updated_at":"2012-05-19T10:38:23Z","body":null,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"number":28,"title":"Issue created by PyGithub","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":null,"labels":[],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":4653757,"milestone":null} - PATCH /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} {"body": "Body edited by PyGithub", "title": "Title edited by PyGithub", "labels": ["Bug"], "assignee": "jacquev6", "state": "open", "milestone": 2} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '2034'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"98bbbf2b2187bf5cdd9aead53ecc2b97"'), ('date', 'Sat, 19 May 2012 10:42:26 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/test/ReplayData/Issue.testEditWithoutParameters.txt b/test/ReplayData/Issue.testEditWithoutParameters.txt index a96eca23..eec15177 100644 --- a/test/ReplayData/Issue.testEditWithoutParameters.txt +++ b/test/ReplayData/Issue.testEditWithoutParameters.txt @@ -1,8 +1,3 @@ -GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '748'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"771af112ee4f9ad5858f5c9b5141b319"'), ('date', 'Sat, 19 May 2012 10:41:02 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"assignee":null,"updated_at":"2012-05-19T10:38:23Z","body":null,"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"number":28,"title":"Issue created by PyGithub","pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"closed_at":null,"labels":[],"closed_by":null,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z","state":"open","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":4653757,"milestone":null} - PATCH /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} {} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4996'), ('content-length', '748'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"771af112ee4f9ad5858f5c9b5141b319"'), ('date', 'Sat, 19 May 2012 10:41:03 GMT'), ('content-type', 'application/json; charset=utf-8')] diff --git a/test/ReplayData/Issue.testEvents.txt b/test/ReplayData/Issue.testEvents.txt deleted file mode 100644 index 1bf47dfc..00000000 --- a/test/ReplayData/Issue.testEvents.txt +++ /dev/null @@ -1,15 +0,0 @@ -GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4968'), ('content-length', '2270'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"988b0ac56d6c092dcd7bc9d9598e60c1"'), ('date', 'Sun, 20 May 2012 12:02:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"closed_by":null,"state":"open","user":{"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},"title":"Title edited by PyGithub","comments":0,"updated_at":"2012-05-20T11:57:12Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":null,"body":"Body edited by PyGithub","number":28,"milestone":{"due_on":null,"state":"open","creator":{"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},"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","open_issues":11,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":1,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","assignee":{"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},"labels":[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"},{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"},{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"}],"id":4653757,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z"} - -GET /repos/jacquev6/PyGithub/issues/28/events {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '945'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c22776de31a71795b5374ee3c61f51bd"'), ('date', 'Sun, 20 May 2012 12:02:39 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975","commit_id":null,"created_at":"2012-05-19T10:38:23Z","event":"subscribed","id":15819975,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15820048","commit_id":null,"created_at":"2012-05-19T10:42:25Z","event":"assigned","id":15820048,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}] - -GET /repos/jacquev6/PyGithub/issues/events/15819975 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '2734'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"a9cee253a596ccc2bbc8c12d425dff08"'), ('date', 'Sun, 20 May 2012 12:02:40 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"commit_id":null,"event":"subscribed","actor":{"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/repos/jacquev6/PyGithub/issues/events/15819975","issue":{"state":"open","user":{"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},"title":"Title edited by PyGithub","comments":0,"updated_at":"2012-05-20T11:57:12Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"closed_at":null,"body":"Body edited by PyGithub","number":28,"milestone":{"due_on":null,"state":"open","creator":{"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},"description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","title":"Version 1.0: coherent public interface","open_issues":11,"number":2,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","closed_issues":1,"id":93547,"created_at":"2012-03-08T12:22:28Z"},"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","assignee":{"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},"labels":[{"color":"e10c02","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug"},{"color":"444444","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management"},{"color":"02e10c","url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question"}],"id":4653757,"html_url":"https://github.com/jacquev6/PyGithub/issues/28","created_at":"2012-05-19T10:38:23Z"},"id":15819975,"created_at":"2012-05-19T10:38:23Z"} - diff --git a/test/ReplayData/Issue.testGetComments.txt b/test/ReplayData/Issue.testGetComments.txt new file mode 100644 index 00000000..aa602735 --- /dev/null +++ b/test/ReplayData/Issue.testGetComments.txt @@ -0,0 +1,5 @@ +GET /repos/jacquev6/PyGithub/issues/28/comments {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4984'), ('content-length', '1820'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bab5fb77d873847d153979f7fcd7e0f1"'), ('date', 'Sat, 26 May 2012 09:43:03 GMT'), ('content-type', 'application/json; charset=utf-8')] +[{"user":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"updated_at":"2012-05-01T22:03:59Z","body":"Thank you for the suggestion. It's somehow related to https://github.com/jacquev6/PyGithub/issues/6, even if I have not described it in details.\r\n\r\nI'm currently doing a very deep rewrite, which will lead to much more readable stack traces in case of exceptions, and I will include more details about the error. I may also be able to detect type errors *before* sending the request to github.\r\n\r\nBy the way, I'm very glad to hear that you have solved a real-life use case using PyGithub :-)","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5449237","id":5449237,"created_at":"2012-05-01T22:03:59Z"},{"user":{"gravatar_id":"b58d0f1ea06b8d5de5f02c53f747ac03","avatar_url":"https://secure.gravatar.com/avatar/b58d0f1ea06b8d5de5f02c53f747ac03?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/roskakori","login":"roskakori","id":328726},"updated_at":"2012-05-04T19:23:57Z","body":"Good to hear you are already working on this in #6, so I suppose this can be tagged as duplicate and be closed.\r\n\r\nBTW, I cleaned up my script to convert Trac tickets to Github issues and uploaded it to PyPI: http://pypi.python.org/pypi/tratihubis/. It seems that at least some people find it useful, so hopefully it helps to popularize PyGithub a little.","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5518272","id":5518272,"created_at":"2012-05-04T19:23:57Z"}] + diff --git a/test/ReplayData/Issue.testGetEvents.txt b/test/ReplayData/Issue.testGetEvents.txt new file mode 100644 index 00000000..cacebadd --- /dev/null +++ b/test/ReplayData/Issue.testGetEvents.txt @@ -0,0 +1,5 @@ +GET /repos/jacquev6/PyGithub/issues/28/events {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4967'), ('content-length', '945'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"c22776de31a71795b5374ee3c61f51bd"'), ('date', 'Sun, 20 May 2012 12:02:39 GMT'), ('content-type', 'application/json; charset=utf-8')] +[{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15819975","commit_id":null,"created_at":"2012-05-19T10:38:23Z","event":"subscribed","id":15819975,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}},{"url":"https://api.github.com/repos/jacquev6/PyGithub/issues/events/15820048","commit_id":null,"created_at":"2012-05-19T10:42:25Z","event":"assigned","id":15820048,"actor":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146}}] + diff --git a/test/ReplayData/IssueComment.setUp.txt b/test/ReplayData/IssueComment.setUp.txt new file mode 100644 index 00000000..0ba301de --- /dev/null +++ b/test/ReplayData/IssueComment.setUp.txt @@ -0,0 +1,20 @@ +GET /user {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4993'), ('content-length', '801'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"9459b6e1e4805aad5e10d13344d6ffbf"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"public_repos":11,"type":"User","hireable":false,"disk_usage":17080,"blog":"http://vincent-jacques.net","bio":"","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","total_private_repos":5,"plan":{"private_repos":5,"collaborators":1,"name":"micro","space":614400},"owned_private_repos":5,"company":"Criteo","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","collaborators":0,"public_gists":3,"email":"vincent@vincent-jacques.net","followers":13,"name":"Vincent Jacques","private_gists":5,"created_at":"2010-07-09T06:10:06Z","location":"Paris, France","id":327146,"following":24,"html_url":"https://github.com/jacquev6"} + +GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4992'), ('content-length', '1129'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"5dc65a168cf4d957347ea04221cd5102"'), ('date', 'Sat, 26 May 2012 14:59:39 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"clone_url":"https://github.com/jacquev6/PyGithub.git","has_downloads":true,"watchers":13,"updated_at":"2012-05-26T11:25:48Z","permissions":{"pull":true,"admin":true,"push":true},"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","mirror_url":null,"has_wiki":false,"has_issues":true,"fork":false,"forks":2,"size":412,"private":false,"open_issues":15,"svn_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"name":"PyGithub","language":"Python","description":"Python library implementing the full Github API v3","ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-26T11:25:48Z","created_at":"2012-02-25T12:53:47Z","id":3544490,"git_url":"git://github.com/jacquev6/PyGithub.git","html_url":"https://github.com/jacquev6/PyGithub","full_name":"jacquev6/PyGithub"} + +GET /repos/jacquev6/PyGithub/issues/28 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4991'), ('content-length', '2258'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"071cb2b8bfef81f56b94d7d9397e6aa4"'), ('date', 'Sat, 26 May 2012 14:59:40 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"updated_at":"2012-05-26T14:59:33Z","body":"Body edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/28","comments":0,"milestone":{"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","open_issues":0,"created_at":"2012-03-08T12:22:10Z","state":"closed","description":"","id":93546,"closed_issues":3},"number":28,"closed_by":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"assignee":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"closed_at":"2012-05-26T14:59:33Z","title":"Issue created by PyGithub","labels":[{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Question","name":"Question","color":"02e10c"}],"created_at":"2012-05-19T10:38:23Z","state":"closed","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146,"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png"},"id":4653757,"pull_request":{"patch_url":null,"diff_url":null,"html_url":null},"html_url":"https://github.com/jacquev6/PyGithub/issues/28"} + +GET /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4985'), ('content-length', '506'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4fa1a8e8e534bcc93123ea6ee8fd4284"'), ('date', 'Sun, 20 May 2012 11:50:56 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"updated_at":"2012-05-20T11:46:42Z","body":"Comment created by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"id":5808311} + diff --git a/test/ReplayData/IssueComment.testDelete.txt b/test/ReplayData/IssueComment.testDelete.txt new file mode 100644 index 00000000..e303dbb9 --- /dev/null +++ b/test/ReplayData/IssueComment.testDelete.txt @@ -0,0 +1,4 @@ +DELETE /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} null +204 +[('status', '204 No Content'), ('x-ratelimit-remaining', '4975'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sun, 20 May 2012 11:57:12 GMT')] + diff --git a/test/ReplayData/IssueComment.testEdit.txt b/test/ReplayData/IssueComment.testEdit.txt new file mode 100644 index 00000000..03eb815c --- /dev/null +++ b/test/ReplayData/IssueComment.testEdit.txt @@ -0,0 +1,5 @@ +PATCH /repos/jacquev6/PyGithub/issues/comments/5808311 {'Authorization': 'Basic login_and_password_removed'} {"body": "Comment edited by PyGithub"} +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4980'), ('content-length', '505'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1599061186ef7ca2dbf5bdee1711746a"'), ('date', 'Sun, 20 May 2012 11:53:59 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"updated_at":"2012-05-20T11:53:59Z","body":"Comment edited by PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/issues/comments/5808311","created_at":"2012-05-20T11:46:42Z","user":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"id":5808311} + diff --git a/test/ReplayData/Label.setUp.txt b/test/ReplayData/Label.setUp.txt index cfd77c52..43e01fa4 100644 --- a/test/ReplayData/Label.setUp.txt +++ b/test/ReplayData/Label.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4963'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"1da4fc53170e51b749ed7930a5fe947c"'), ('date', 'Sat, 19 May 2012 10:17:52 GMT'), ('content-type', 'application/json; charset=utf-8')] {"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"updated_at":"2012-05-18T20:30:15Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","git_url":"git://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T20:30:14Z","mirror_url":null,"size":220,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jacquev6","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} +GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fe2e942523eecb156d100829a6347516"'), ('date', 'Sat, 19 May 2012 09:40:37 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"} + diff --git a/test/ReplayData/Label.testAttributes.txt b/test/ReplayData/Label.testAttributes.txt deleted file mode 100644 index 14abe04c..00000000 --- a/test/ReplayData/Label.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4994'), ('content-length', '97'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"fe2e942523eecb156d100829a6347516"'), ('date', 'Sat, 19 May 2012 09:40:37 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Bug","name":"Bug","color":"e10c02"} - diff --git a/test/ReplayData/Label.testDelete.txt b/test/ReplayData/Label.testDelete.txt index bd5c3004..9cb30eb9 100644 --- a/test/ReplayData/Label.testDelete.txt +++ b/test/ReplayData/Label.testDelete.txt @@ -1,9 +1,4 @@ -GET /repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4962'), ('content-length', '133'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"57435796bd4f14b84ad92105669cfab1"'), ('date', 'Sat, 19 May 2012 10:17:53 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub","name":"LabelEditedByPyGithub","color":"0000ff"} - -DELETE /repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub {'Authorization': 'Basic login_and_password_removed'} null +DELETE /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} null 204 [('status', '204 No Content'), ('x-ratelimit-remaining', '4961'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 10:17:53 GMT')] diff --git a/test/ReplayData/Label.testEdit.txt b/test/ReplayData/Label.testEdit.txt index abec1fb0..7a9ad2b6 100644 --- a/test/ReplayData/Label.testEdit.txt +++ b/test/ReplayData/Label.testEdit.txt @@ -1,9 +1,4 @@ -GET /repos/jacquev6/PyGithub/labels/Label%20with%20silly%20name%20%25%20%2A%20%2B%20created%20by%20PyGithub {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4966'), ('content-length', '191'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"92b623552b1bac3f019d03c920305acd"'), ('date', 'Sat, 19 May 2012 10:17:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub","name":"Label with silly name % * + created by PyGithub","color":"00ff00"} - -PATCH /repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub {'Authorization': 'Basic login_and_password_removed'} {"color": "0000ff", "name": "LabelEditedByPyGithub"} +PATCH /repos/jacquev6/PyGithub/labels/Bug {'Authorization': 'Basic login_and_password_removed'} {"color": "0000ff", "name": "LabelEditedByPyGithub"} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4965'), ('content-length', '133'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"57435796bd4f14b84ad92105669cfab1"'), ('date', 'Sat, 19 May 2012 10:17:44 GMT'), ('content-type', 'application/json; charset=utf-8')] {"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/LabelEditedByPyGithub","name":"LabelEditedByPyGithub","color":"0000ff"} diff --git a/test/ReplayData/Milestone.setUp.txt b/test/ReplayData/Milestone.setUp.txt index dd50e44e..6c2b9e47 100644 --- a/test/ReplayData/Milestone.setUp.txt +++ b/test/ReplayData/Milestone.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"4a386c2ab2675e1e0addb729b4576ea9"'), ('date', 'Fri, 11 May 2012 13:34:49 GMT'), ('content-type', 'application/json; charset=utf-8')] {"updated_at":"2012-05-10T20:00:24Z","has_wiki":false,"has_issues":true,"homepage":"http://vincent-jacques.net/PyGithub","git_url":"git://github.com/jacquev6/PyGithub.git","mirror_url":null,"forks":2,"html_url":"https://github.com/jacquev6/PyGithub","open_issues":15,"fork":false,"svn_url":"https://github.com/jacquev6/PyGithub","ssh_url":"git@github.com:jacquev6/PyGithub.git","url":"https://api.github.com/repos/jacquev6/PyGithub","pushed_at":"2012-05-10T20:00:24Z","language":"Python","size":196,"private":false,"clone_url":"https://github.com/jacquev6/PyGithub.git","created_at":"2012-02-25T12:53:47Z","owner":{"gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","login":"jacquev6","id":327146},"name":"PyGithub","has_downloads":true,"watchers":13,"description":"Python library implementing the full Github API v3","id":3544490,"permissions":{"admin":true,"pull":true,"push":true}} +GET /repos/jacquev6/PyGithub/milestones/1 {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '556'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"977ee5e1d9c368036c6121e01680ce45"'), ('date', 'Fri, 11 May 2012 13:34:49 GMT'), ('content-type', 'application/json; charset=utf-8')] +{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"closed_issues":2,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","created_at":"2012-03-08T12:22:10Z","state":"closed","creator":{"url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"","open_issues":0,"id":93546} + diff --git a/test/ReplayData/Milestone.testAttributes.txt b/test/ReplayData/Milestone.testAttributes.txt deleted file mode 100644 index 4e513099..00000000 --- a/test/ReplayData/Milestone.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/milestones/1 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '556'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"977ee5e1d9c368036c6121e01680ce45"'), ('date', 'Fri, 11 May 2012 13:34:49 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/1","number":1,"closed_issues":2,"title":"Version 0.4","due_on":"2012-03-13T07:00:00Z","created_at":"2012-03-08T12:22:10Z","state":"closed","creator":{"url":"https://api.github.com/users/jacquev6","login":"jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"description":"","open_issues":0,"id":93546} - diff --git a/test/ReplayData/Milestone.testDelete.txt b/test/ReplayData/Milestone.testDelete.txt index 80b47d60..723be027 100644 --- a/test/ReplayData/Milestone.testDelete.txt +++ b/test/ReplayData/Milestone.testDelete.txt @@ -1,9 +1,4 @@ -GET /repos/jacquev6/PyGithub/milestones/5 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4939'), ('content-length', '606'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"13b08f244cf1fb6ed885dd9300abe219"'), ('date', 'Sat, 19 May 2012 10:34:43 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"closed_issues":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","due_on":"2012-06-16T07:00:00Z","creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"number":5,"open_issues":0,"title":"Title edited twice by PyGithub","created_at":"2012-05-19T10:24:13Z","state":"closed","description":"Description edited by PyGithub","id":121463} - -DELETE /repos/jacquev6/PyGithub/milestones/5 {'Authorization': 'Basic login_and_password_removed'} null +DELETE /repos/jacquev6/PyGithub/milestones/1 {'Authorization': 'Basic login_and_password_removed'} null 204 [('status', '204 No Content'), ('x-ratelimit-remaining', '4938'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d41d8cd98f00b204e9800998ecf8427e"'), ('date', 'Sat, 19 May 2012 10:34:44 GMT')] diff --git a/test/ReplayData/Milestone.testEditWithAllParameters.txt b/test/ReplayData/Milestone.testEditWithAllParameters.txt index 9711809f..57d5d5fb 100644 --- a/test/ReplayData/Milestone.testEditWithAllParameters.txt +++ b/test/ReplayData/Milestone.testEditWithAllParameters.txt @@ -1,9 +1,4 @@ -GET /repos/jacquev6/PyGithub/milestones/5 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4947'), ('content-length', '599'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"db1bd358838d09ffe0c34b83f6d4ec81"'), ('date', 'Sat, 19 May 2012 10:30:14 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","due_on":"2012-06-15T07:00:00Z","creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"number":5,"open_issues":0,"title":"Title edited by PyGithub","closed_issues":0,"created_at":"2012-05-19T10:24:13Z","state":"open","description":"Description created by PyGithub","id":121463} - -PATCH /repos/jacquev6/PyGithub/milestones/5 {'Authorization': 'Basic login_and_password_removed'} {"due_on": "2012-06-16", "state": "closed", "description": "Description edited by PyGithub", "title": "Title edited twice by PyGithub"} +PATCH /repos/jacquev6/PyGithub/milestones/1 {'Authorization': 'Basic login_and_password_removed'} {"due_on": "2012-06-16", "state": "closed", "description": "Description edited by PyGithub", "title": "Title edited twice by PyGithub"} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4946'), ('content-length', '606'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"ac9f76c61e1fe0e76cd26e77e59d5797"'), ('date', 'Sat, 19 May 2012 10:30:15 GMT'), ('content-type', 'application/json; charset=utf-8')] {"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","due_on":"2012-06-16T07:00:00Z","creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"number":5,"open_issues":0,"title":"Title edited twice by PyGithub","closed_issues":0,"created_at":"2012-05-19T10:24:13Z","state":"closed","description":"Description edited by PyGithub","id":121463} diff --git a/test/ReplayData/Milestone.testEditWithMinimalParameters.txt b/test/ReplayData/Milestone.testEditWithMinimalParameters.txt index 1861320a..16f34410 100644 --- a/test/ReplayData/Milestone.testEditWithMinimalParameters.txt +++ b/test/ReplayData/Milestone.testEditWithMinimalParameters.txt @@ -1,9 +1,4 @@ -GET /repos/jacquev6/PyGithub/milestones/5 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4955'), ('content-length', '604'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"bb5eb08c923020c102396cd0c9bfdbc5"'), ('date', 'Sat, 19 May 2012 10:29:01 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"closed_issues":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","due_on":"2012-06-15T07:00:00Z","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"number":5,"open_issues":0,"title":"Milestone created by PyGithub","created_at":"2012-05-19T10:24:13Z","state":"open","description":"Description created by PyGithub","id":121463} - -PATCH /repos/jacquev6/PyGithub/milestones/5 {'Authorization': 'Basic login_and_password_removed'} {"title": "Title edited by PyGithub"} +PATCH /repos/jacquev6/PyGithub/milestones/1 {'Authorization': 'Basic login_and_password_removed'} {"title": "Title edited by PyGithub"} 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4954'), ('content-length', '599'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"df00dd4d1183f48c313b9cf04330623b"'), ('date', 'Sat, 19 May 2012 10:29:02 GMT'), ('content-type', 'application/json; charset=utf-8')] {"closed_issues":0,"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/5","due_on":"2012-06-15T07:00:00Z","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","id":327146},"number":5,"open_issues":0,"title":"Title edited by PyGithub","created_at":"2012-05-19T10:24:13Z","state":"open","description":"Description created by PyGithub","id":121463} diff --git a/test/ReplayData/Milestone.testGetLabels.txt b/test/ReplayData/Milestone.testGetLabels.txt index 54bdbe20..0c805125 100644 --- a/test/ReplayData/Milestone.testGetLabels.txt +++ b/test/ReplayData/Milestone.testGetLabels.txt @@ -1,9 +1,4 @@ -GET /repos/jacquev6/PyGithub/milestones/2 {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4943'), ('content-length', '881'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"e437576e590b4956a496dc7b0c649dee"'), ('date', 'Sat, 19 May 2012 10:33:15 GMT'), ('content-type', 'application/json; charset=utf-8')] -{"url":"https://api.github.com/repos/jacquev6/PyGithub/milestones/2","due_on":null,"closed_issues":1,"creator":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"number":2,"open_issues":10,"title":"Version 1.0: coherent public interface","created_at":"2012-03-08T12:22:28Z","state":"open","description":"Heavy rewrite to have:\r\n* a fully coherent public interface\r\n* usable stack-traces in case of exception\r\n* more explicit exceptions\r\n* more readable code (for library exploration, auto-completion in IDEs, etc.)\r\n\r\nSee working branch https://github.com/jacquev6/PyGithub/tree/topic/RewriteWithGeneratedCode","id":93547} - -GET /repos/jacquev6/PyGithub/milestones/2/labels {'Authorization': 'Basic login_and_password_removed'} null +GET /repos/jacquev6/PyGithub/milestones/1/labels {'Authorization': 'Basic login_and_password_removed'} null 200 [('status', '200 OK'), ('x-ratelimit-remaining', '4942'), ('content-length', '253'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"cd4ed3176e27a01da9a51f84c7b19b63"'), ('date', 'Sat, 19 May 2012 10:33:15 GMT'), ('content-type', 'application/json; charset=utf-8')] [{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Public+interface","name":"Public interface","color":"d7e102"},{"url":"https://api.github.com/repos/jacquev6/PyGithub/labels/Project+management","name":"Project management","color":"444444"}] diff --git a/test/ReplayData/NamedUser.testAttributesOfSelf.txt b/test/ReplayData/NamedUser.testAttributesOfSelf.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/test/ReplayData/Repository.testAttributes.txt b/test/ReplayData/Repository.testAttributes.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/test/ReplayData/Download.testCreateWithAllArguments.txt b/test/ReplayData/Repository.testCreateDownloadWithAllArguments.txt similarity index 100% rename from test/ReplayData/Download.testCreateWithAllArguments.txt rename to test/ReplayData/Repository.testCreateDownloadWithAllArguments.txt diff --git a/test/ReplayData/Download.testCreateWithMinimalArguments.txt b/test/ReplayData/Repository.testCreateDownloadWithMinimalArguments.txt similarity index 100% rename from test/ReplayData/Download.testCreateWithMinimalArguments.txt rename to test/ReplayData/Repository.testCreateDownloadWithMinimalArguments.txt diff --git a/test/ReplayData/GitBlob.testCreate.txt b/test/ReplayData/Repository.testCreateGitBlob.txt similarity index 100% rename from test/ReplayData/GitBlob.testCreate.txt rename to test/ReplayData/Repository.testCreateGitBlob.txt diff --git a/test/ReplayData/Repository.testCreateGitRef.txt b/test/ReplayData/Repository.testCreateGitRef.txt new file mode 100644 index 00000000..b56275ae --- /dev/null +++ b/test/ReplayData/Repository.testCreateGitRef.txt @@ -0,0 +1,5 @@ +POST /repos/jacquev6/PyGithub/git/refs {'Authorization': 'Basic login_and_password_removed'} {"sha": "4303c5b90e2216d927155e9609436ccb8984c495", "ref": "refs/heads/BranchCreatedByPyGithub"} +201 +[('status', '201 Created'), ('x-ratelimit-remaining', '4987'), ('content-length', '322'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"0302e489fc6bd534afa44cdbec1227e7"'), ('date', 'Thu, 10 May 2012 18:49:19 GMT'), ('content-type', 'application/json; charset=utf-8'), ('location', 'https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub')] +{"object":{"type":"commit","sha":"4303c5b90e2216d927155e9609436ccb8984c495","url":"https://api.github.com/repos/jacquev6/PyGithub/git/commits/4303c5b90e2216d927155e9609436ccb8984c495"},"ref":"refs/heads/BranchCreatedByPyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub"} + diff --git a/test/ReplayData/Hook.testCreateWithAllParameters.txt b/test/ReplayData/Repository.testCreateHookWithAllParameters.txt similarity index 100% rename from test/ReplayData/Hook.testCreateWithAllParameters.txt rename to test/ReplayData/Repository.testCreateHookWithAllParameters.txt diff --git a/test/ReplayData/Hook.testCreateWithMinimalParameters.txt b/test/ReplayData/Repository.testCreateHookWithMinimalParameters.txt similarity index 100% rename from test/ReplayData/Hook.testCreateWithMinimalParameters.txt rename to test/ReplayData/Repository.testCreateHookWithMinimalParameters.txt diff --git a/test/ReplayData/Issue.testCreate.txt b/test/ReplayData/Repository.testCreateIssue.txt similarity index 100% rename from test/ReplayData/Issue.testCreate.txt rename to test/ReplayData/Repository.testCreateIssue.txt diff --git a/test/ReplayData/Label.testCreate.txt b/test/ReplayData/Repository.testCreateLabel.txt similarity index 100% rename from test/ReplayData/Label.testCreate.txt rename to test/ReplayData/Repository.testCreateLabel.txt diff --git a/test/ReplayData/Milestone.testCreate.txt b/test/ReplayData/Repository.testCreateMilestone.txt similarity index 100% rename from test/ReplayData/Milestone.testCreate.txt rename to test/ReplayData/Repository.testCreateMilestone.txt diff --git a/test/ReplayData/Label.testGetLabelWithSillyName.txt b/test/ReplayData/Repository.testGetLabel.txt similarity index 100% rename from test/ReplayData/Label.testGetLabelWithSillyName.txt rename to test/ReplayData/Repository.testGetLabel.txt diff --git a/test/ReplayData/Tag.setUp.txt b/test/ReplayData/Tag.setUp.txt index 36b01009..afab6a4b 100644 --- a/test/ReplayData/Tag.setUp.txt +++ b/test/ReplayData/Tag.setUp.txt @@ -8,3 +8,8 @@ GET /repos/jacquev6/PyGithub {'Authorization': 'Basic login_and_password_removed [('status', '200 OK'), ('x-ratelimit-remaining', '4998'), ('content-length', '1097'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"168623303cdf933a5eda91a18bb2ad76"'), ('date', 'Sat, 19 May 2012 04:49:44 GMT'), ('content-type', 'application/json; charset=utf-8')] {"mirror_url":null,"svn_url":"https://github.com/jacquev6/PyGithub","has_wiki":false,"has_issues":true,"git_url":"git://github.com/jacquev6/PyGithub.git","updated_at":"2012-05-18T20:30:15Z","forks":2,"homepage":"http://vincent-jacques.net/PyGithub","url":"https://api.github.com/repos/jacquev6/PyGithub","clone_url":"https://github.com/jacquev6/PyGithub.git","open_issues":17,"fork":false,"ssh_url":"git@github.com:jacquev6/PyGithub.git","pushed_at":"2012-05-18T20:30:14Z","size":220,"private":false,"has_downloads":true,"watchers":13,"html_url":"https://github.com/jacquev6/PyGithub","owner":{"url":"https://api.github.com/users/jacquev6","gravatar_id":"b68de5ae38616c296fa345d2b9df2225","login":"jacquev6","avatar_url":"https://secure.gravatar.com/avatar/b68de5ae38616c296fa345d2b9df2225?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","id":327146},"name":"PyGithub","permissions":{"pull":true,"admin":true,"push":true},"language":"Python","description":"Python library implementing the full Github API v3","created_at":"2012-02-25T12:53:47Z","id":3544490} +GET /repos/jacquev6/PyGithub/tags {'Authorization': 'Basic login_and_password_removed'} null +200 +[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '1873'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d43a1ebbb23a4f99f4fbac19caadc4af"'), ('date', 'Sat, 19 May 2012 04:49:45 GMT'), ('content-type', 'application/json; charset=utf-8')] +[{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.3","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.3","name":"v0.3","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/636e6112deb72277b3bffcc3303cd7e8a7431a5d","sha":"636e6112deb72277b3bffcc3303cd7e8a7431a5d"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.4","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.4","name":"v0.4","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a3be28756101370fbc689eec3a7825c4c385a6c9","sha":"a3be28756101370fbc689eec3a7825c4c385a6c9"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.5","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.5","name":"v0.5","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.6","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.6","name":"v0.6","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","sha":"4303c5b90e2216d927155e9609436ccb8984c495"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.1","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.1","name":"v0.1","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dbdcda3591980de42617814f792969126e6402c3","sha":"dbdcda3591980de42617814f792969126e6402c3"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.2","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.2","name":"v0.2","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9f0b05161f9d1962b9156e6c91fc04f382028240","sha":"9f0b05161f9d1962b9156e6c91fc04f382028240"}}] + diff --git a/test/ReplayData/Tag.testAttributes.txt b/test/ReplayData/Tag.testAttributes.txt deleted file mode 100644 index b5857c69..00000000 --- a/test/ReplayData/Tag.testAttributes.txt +++ /dev/null @@ -1,5 +0,0 @@ -GET /repos/jacquev6/PyGithub/tags {'Authorization': 'Basic login_and_password_removed'} null -200 -[('status', '200 OK'), ('x-ratelimit-remaining', '4997'), ('content-length', '1873'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('x-ratelimit-limit', '5000'), ('etag', '"d43a1ebbb23a4f99f4fbac19caadc4af"'), ('date', 'Sat, 19 May 2012 04:49:45 GMT'), ('content-type', 'application/json; charset=utf-8')] -[{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.3","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.3","name":"v0.3","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/636e6112deb72277b3bffcc3303cd7e8a7431a5d","sha":"636e6112deb72277b3bffcc3303cd7e8a7431a5d"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.4","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.4","name":"v0.4","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/a3be28756101370fbc689eec3a7825c4c385a6c9","sha":"a3be28756101370fbc689eec3a7825c4c385a6c9"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.5","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.5","name":"v0.5","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/936f4a97f1a86392637ec002bbf89ff036a5062d","sha":"936f4a97f1a86392637ec002bbf89ff036a5062d"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.6","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.6","name":"v0.6","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/4303c5b90e2216d927155e9609436ccb8984c495","sha":"4303c5b90e2216d927155e9609436ccb8984c495"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.1","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.1","name":"v0.1","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/dbdcda3591980de42617814f792969126e6402c3","sha":"dbdcda3591980de42617814f792969126e6402c3"}},{"zipball_url":"https://github.com/jacquev6/PyGithub/zipball/v0.2","tarball_url":"https://github.com/jacquev6/PyGithub/tarball/v0.2","name":"v0.2","commit":{"url":"https://api.github.com/repos/jacquev6/PyGithub/commits/9f0b05161f9d1962b9156e6c91fc04f382028240","sha":"9f0b05161f9d1962b9156e6c91fc04f382028240"}}] - diff --git a/test/Repository.py b/test/Repository.py index 9a690220..868505f1 100644 --- a/test/Repository.py +++ b/test/Repository.py @@ -51,3 +51,83 @@ class Repository( Framework.TestCase ): def testGetContributors( self ): self.assertListKeyEqual( self.repo.get_contributors(), lambda c: ( c.login, c.contributions ), [ ( "jacquev6", 355 ) ] ) + + def testCreateMilestone( self ): + milestone = self.repo.create_milestone( "Milestone created by PyGithub", state = "open", description = "Description created by PyGithub", due_on = "2012-06-15" ) + self.assertEqual( milestone.number, 5 ) + + def testCreateIssue( self ): + issue = self.repo.create_issue( "Issue created by PyGithub" ) + self.assertEqual( issue.number, 28 ) + + def testCreateLabel( self ): + label = self.repo.create_label( "Label with silly name % * + created by PyGithub", "00ff00" ) + self.assertEqual( label.color, "00ff00" ) + self.assertEqual( label.name, "Label with silly name % * + created by PyGithub" ) + self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub" ) + + def testGetLabel( self ): + label = self.repo.get_label( "Label with silly name % * + created by PyGithub" ) + self.assertEqual( label.color, "00ff00" ) + self.assertEqual( label.name, "Label with silly name % * + created by PyGithub" ) + self.assertEqual( label.url, "https://api.github.com/repos/jacquev6/PyGithub/labels/Label+with+silly+name+%25+%2A+%2B+created+by+PyGithub" ) + + def testCreateHookWithMinimalParameters( self ): + ### @todo Implement https://api.github.com/hooks, which is not described, but refered by http://developer.github.com/v3/repos/hooks/#create-a-hook + hook = self.repo.create_hook( "web", { "url": "http://foobar.com" } ) + self.assertEqual( hook.active, True ) + self.assertEqual( hook.config, { "url": "http://foobar.com" } ) + self.assertEqual( hook.created_at, "2012-05-19T05:03:14Z" ) + self.assertEqual( hook.events, [ "push" ] ) + self.assertEqual( hook.id, 257967 ) + self.assertEqual( hook.last_response, { "status": "unused", "message": None, "code": None } ) + self.assertEqual( hook.name, "web" ) + self.assertEqual( hook.updated_at, "2012-05-19T05:03:14Z" ) + self.assertEqual( hook.url, "https://api.github.com/repos/jacquev6/PyGithub/hooks/257967" ) + + def testCreateHookWithAllParameters( self ): + hook = self.repo.create_hook( "web", { "url": "http://foobar.com" }, [ "fork" ], False ) + self.assertEqual( hook.active, True ) # WTF + self.assertEqual( hook.config, { "url": "http://foobar.com" } ) + self.assertEqual( hook.created_at, "2012-05-19T06:01:45Z" ) + self.assertEqual( hook.events, [ "fork" ] ) + self.assertEqual( hook.id, 257993 ) + self.assertEqual( hook.last_response, { "status": "unused", "message": None, "code": None } ) + self.assertEqual( hook.name, "web" ) + self.assertEqual( hook.updated_at, "2012-05-19T06:01:45Z" ) + self.assertEqual( hook.url, "https://api.github.com/repos/jacquev6/PyGithub/hooks/257993" ) + + def testCreateDownloadWithMinimalArguments( self ): + download = self.repo.create_download( "Foobar.txt", 1024 ) + self.assertEqual( download.id, 242562 ) + + def testCreateDownloadWithAllArguments( self ): + download = self.repo.create_download( "Foobar.txt", 1024, "Download created by PyGithub", "text/richtext" ) + self.assertEqual( download.accesskeyid, "1DWESVTPGHQVTX38V182" ) + self.assertEqual( download.acl, "public-read" ) + self.assertEqual( download.bucket, "github" ) + self.assertEqual( download.content_type, "text/richtext" ) + self.assertEqual( download.created_at, "2012-05-22T19:11:49Z" ) + self.assertEqual( download.description, "Download created by PyGithub" ) + self.assertEqual( download.download_count, 0 ) + self.assertEqual( download.expirationdate, "2112-05-22T19:11:49.000Z" ) + self.assertEqual( download.html_url, "https://github.com/downloads/jacquev6/PyGithub/Foobar.txt" ) + self.assertEqual( download.id, 242556 ) + self.assertEqual( download.mime_type, "text/richtext" ) + self.assertEqual( download.name, "Foobar.txt" ) + self.assertEqual( download.path, "downloads/jacquev6/PyGithub/Foobar.txt" ) + self.assertEqual( download.policy, "ewogICAgJ2V4cGlyYXRpb24nOiAnMjExMi0wNS0yMlQxOToxMTo0OS4wMDBaJywKICAgICdjb25kaXRpb25zJzogWwogICAgICAgIHsnYnVja2V0JzogJ2dpdGh1Yid9LAogICAgICAgIHsna2V5JzogJ2Rvd25sb2Fkcy9qYWNxdWV2Ni9QeUdpdGh1Yi9Gb29iYXIudHh0J30sCiAgICAgICAgeydhY2wnOiAncHVibGljLXJlYWQnfSwKICAgICAgICB7J3N1Y2Nlc3NfYWN0aW9uX3N0YXR1cyc6ICcyMDEnfSwKICAgICAgICBbJ3N0YXJ0cy13aXRoJywgJyRGaWxlbmFtZScsICcnXSwKICAgICAgICBbJ3N0YXJ0cy13aXRoJywgJyRDb250ZW50LVR5cGUnLCAnJ10KICAgIF0KfQ==" ) + self.assertEqual( download.prefix, "downloads/jacquev6/PyGithub" ) + self.assertEqual( download.redirect, False ) + self.assertEqual( download.s3_url, "https://github.s3.amazonaws.com/" ) + self.assertEqual( download.signature, "8FCU/4rgT3ohXfE9N6HO7JgbuK4=" ) + self.assertEqual( download.size, 1024 ) + self.assertEqual( download.url, "https://api.github.com/repos/jacquev6/PyGithub/downloads/242556" ) + + def testCreateGitRef( self ): + ref = self.repo.create_git_ref( "refs/heads/BranchCreatedByPyGithub", "4303c5b90e2216d927155e9609436ccb8984c495" ) + self.assertEqual( ref.url, "https://api.github.com/repos/jacquev6/PyGithub/git/refs/heads/BranchCreatedByPyGithub" ) + + def testCreateGitBlob( self ): + blob = self.repo.create_git_blob( "Blob created by PyGithub", "latin1" ) + self.assertEqual( blob.sha, "5dd930f591cd5188e9ea7200e308ad355182a1d8" ) diff --git a/test/Tag.py b/test/Tag.py new file mode 100644 index 00000000..418b0015 --- /dev/null +++ b/test/Tag.py @@ -0,0 +1,12 @@ +import Framework + +class Tag( Framework.TestCase ): + def setUp( self ): + Framework.TestCase.setUp( self ) + self.tag = self.g.get_user().get_repo( "PyGithub" ).get_tags()[ 0 ] + + def testAttributes( self ): + self.assertEqual( self.tag.commit.sha, "636e6112deb72277b3bffcc3303cd7e8a7431a5d" ) + self.assertEqual( self.tag.name, "v0.3" ) + self.assertEqual( self.tag.tarball_url, "https://github.com/jacquev6/PyGithub/tarball/v0.3" ) + self.assertEqual( self.tag.zipball_url, "https://github.com/jacquev6/PyGithub/zipball/v0.3" )