Files
PyGithub/github/tests/Commit.py
T
Vincent Jacques aadb06753c On the way to publish tests (issue #86)
This commit only moves stuff around.
Modifications will be done in next commit.
2012-09-16 20:07:33 +02:00

81 lines
4.9 KiB
Python

# Copyright 2012 Vincent Jacques
# vincent@vincent-jacques.net
# This file is part of PyGithub. http://vincent-jacques.net/PyGithub
# PyGithub is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License
# as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
# You should have received a copy of the GNU Lesser General Public License along with PyGithub. If not, see <http://www.gnu.org/licenses/>.
import Framework
class Commit( Framework.TestCase ):
def setUp( self ):
Framework.TestCase.setUp( self )
self.commit = self.g.get_user().get_repo( "PyGithub" ).get_commit( "1292bf0e22c796e91cc3d6e24b544aece8c21f2a" )
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 )
def testCreateStatusWithoutOptionalParameters( self ):
status = self.commit.create_status( "pending" )
self.assertEqual( status.id, 277031 )
self.assertEqual( status.state, "pending" )
self.assertEqual( status.target_url, None )
self.assertEqual( status.description, None )
def testCreateStatusWithAllParameters( self ):
status = self.commit.create_status( "success", "https://github.com/jacquev6/PyGithub/issues/67", "Status successfuly created by PyGithub" )
self.assertEqual( status.id, 277040 )
self.assertEqual( status.state, "success" )
self.assertEqual( status.target_url, "https://github.com/jacquev6/PyGithub/issues/67" )
self.assertEqual( status.description, "Status successfuly created by PyGithub" )