mirror of
https://github.com/status-im/PyGithub.git
synced 2026-09-02 11:51:10 +00:00
Repository.get_issues_event + coverage
This commit is contained in:
+11
-5
@@ -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
@@ -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
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user