Repository.get_issues_event + coverage

This commit is contained in:
Vincent Jacques
2012-03-12 21:22:10 +01:00
parent 07b6b437d7
commit 43369be997
3 changed files with 28 additions and 11 deletions
+11 -5
View File
@@ -167,24 +167,29 @@ class IntegrationTest:
coveredUrls[ url ].add( verb )
uncoveredMethods = set()
uncoveredApis = set()
with open( "ReferenceOfApis.md" ) as file:
for line in file.readlines():
line = line.strip()
if line.startswith( "API" ):
currentApi = line[ 5 : -1 ]
apiRegex = re.sub( ":\w+", "\w+", currentApi )
if line.startswith( "* " ) and line.endswith( "`" ):
if line.startswith( "* " ):
verb = line[ 2 : line.find( ":" ) ]
for url, verbs in coveredUrls.iteritems():
if re.match( apiRegex, url ) and verb in verbs:
break
else:
uncoveredMethods.add( line[ line.find( "`" ) + 1 : -1 ] )
if "`" in line:
uncoveredMethods.add( line[ line.find( "`" ) + 1 : -1 ] )
else:
uncoveredApis.add( verb + " " + currentApi )
if len( uncoveredMethods ) != 0:
if len( uncoveredMethods ) != 0 or len( uncoveredApis ) != 0:
print
print "Not covered (" + str( len( uncoveredMethods ) ) + "):"
print "Not covered (" + str( len( uncoveredMethods ) + len( uncoveredApis ) ) + "):"
print "\n".join( sorted( uncoveredMethods ) )
print "\n".join( sorted( uncoveredApis ) )
def testAuthenticatedUserDetails( self ):
u = self.g.get_user()
@@ -318,6 +323,7 @@ class IntegrationTest:
self.printList( "Repo events", self.g.get_user().get_repo( "TestPyGithub" ).get_events(), lambda e: e.type )
self.printList( "Repo issues events", self.g.get_user().get_repo( "TestPyGithub" ).get_issues_events(), lambda e: e.event )
print self.g.get_user().get_repo( "TestPyGithub" ).get_issues_event( 10693379 ).event
self.printList( "Repo network events", self.g.get_user().get_repo( "TestPyGithub" ).get_network_events(), lambda e: e.type )
self.printList( "Issue events", self.g.get_user().get_repo( "TestPyGithub" ).get_issue( 23 ).get_events(), lambda e: e.event )
@@ -551,6 +557,6 @@ class IntegrationTest:
self.printList( "Emails", u.get_emails() )
def printList( self, title, iterable, f = lambda x: x ):
print title + ":", ", ".join( f( x ) for x in iterable[ :10 ] ), "..." if len( iterable ) > 10 else ""
print title + ":", ", ".join( str( f( x ) ) for x in iterable[ :10 ] ), "..." if len( iterable ) > 10 else ""
IntegrationTest().main( sys.argv[ 1: ] )
+2 -2
View File
@@ -208,7 +208,7 @@ API `/repos/:user/:repo/git/trees`
API `/repos/:user/:repo/git/trees?base_tree=`
=============================================
* POST: `GitTree.create_update` (TODO)
* POST: (TODO)
API `/repos/:user/:repo/git/trees/:sha`
=======================================
@@ -275,7 +275,7 @@ API `/repos/:user/:repo/issues/events`
API `/repos/:user/:repo/issues/events/:id`
==========================================
* GET: (TODO SOON)
* GET: `Repository.get_issues_event`
API `/repos/:user/:repo/keys`
=============================
+15 -4
View File
@@ -288,6 +288,16 @@ IssueComment = GithubObject(
Deletable(),
)
IssueEvent = GithubObject(
"IssueEvent",
BaseUrl( lambda obj: obj._repo._baseUrl + "/issues/events/" + str( obj.id ) ),
InternalSimpleAttributes(
"id", "url", "created_at", "issue", "event", "commit_id",
"_repo", # Ugly hack
),
InternalObjectAttribute( "actor", NamedUser ),
)
Issue = GithubObject(
"Issue",
BaseUrl( lambda obj: obj._repo._baseUrl + "/issues/" + str( obj.number ) ),
@@ -313,8 +323,8 @@ Issue = GithubObject(
ElementGetable( [ "id" ], [], __modifyAttributesForObjectsReferingReferedRepo ),
ElementCreatable( [ "body" ], [], __modifyAttributesForObjectsReferingReferedRepo ),
),
ExternalListOfObjects( "events", "event", Event,
ListGetable( [], [] )
ExternalListOfObjects( "events", "event", IssueEvent,
ListGetable( [], [], __modifyAttributesForObjectsReferingReferedRepo )
),
)
@@ -472,8 +482,9 @@ Repository._addAttributePolicy(
MethodFromCallable( "get_network_events", [], [], __getNetworkEvents, SimpleTypePolicy( "list of `Event`" ) )
)
Repository._addAttributePolicy(
ExternalListOfObjects( "issues/events", "issues_event", Event,
ListGetable( [], [] )
ExternalListOfObjects( "issues/events", "issues_event", IssueEvent,
ListGetable( [], [], __modifyAttributesForObjectsReferingRepo ),
ElementGetable( [ "id" ], [], __modifyAttributesForObjectsReferingRepo ),
)
)
Repository._addAttributePolicy(