Fix testGistsAll, improve testEvents

This commit is contained in:
Vincent Jacques
2012-05-05 16:43:13 +02:00
parent bddf2051b5
commit c3dd5cd2f1
7 changed files with 126 additions and 25 deletions
+10 -10
View File
@@ -335,16 +335,16 @@ class IntegrationTest:
t.delete()
self.printList( "Teams", o.get_teams(), lambda t: t.name )
# @todo Restore correct pagination
# def testEvents( self ):
# self.printList( "User events", self.g.get_user( self.cobayeUser ).get_events(), lambda e: e.type )
# self.printList( "User public events", self.g.get_user( self.cobayeUser ).get_public_events(), lambda e: e.type )
# self.printList( "User public received events", self.g.get_user( self.cobayeUser ).get_public_received_events(), lambda e: e.type )
# self.printList( "User received events", self.g.get_user( self.cobayeUser ).get_received_events(), lambda e: e.type )
# @todo Custom url /events instead of /user/events
def testEvents( self ):
self.printList( "User events", self.g.get_user( self.cobayeUser ).get_events(), lambda e: e.type )
self.printList( "User public events", self.g.get_user( self.cobayeUser ).get_public_events(), lambda e: e.type )
self.printList( "User public received events", self.g.get_user( self.cobayeUser ).get_public_received_events(), lambda e: e.type )
self.printList( "User received events", self.g.get_user( self.cobayeUser ).get_received_events(), lambda e: e.type )
# self.printList( "Organization events", self.g.get_organization( self.cobayeOrganization ).get_events(), lambda e: e.type )
self.printList( "Organization events", self.g.get_organization( self.cobayeOrganization ).get_events(), lambda e: e.type )
# self.printList( "User events", self.g.get_user().get_events(), lambda e: e.type )
self.printList( "User events", self.g.get_user().get_events(), lambda e: e.type )
# o = self.g.get_organization( self.cobayeOrganization )
# self.printList( "Organization events", self.g.get_user().get_organization_events( o ), lambda e: e.type )
@@ -398,8 +398,8 @@ class IntegrationTest:
# g.delete()
# self.printList( "Gists", u.get_gists(), lambda g: g.description )
# def testGistsAll( self ):
# self.printList( "Gists", self.g.get_gists(), lambda g: g.description )
def testGistsAll( self ):
self.printList( "Gists", self.g.get_gists(), lambda g: g.description )
# @todo custom url/repos/BeaverSoftware/TestPyGithub/git/refs/heads/master instead of /repos/BeaverSoftware/TestPyGithub/git_refs/refs/heads/master
# def testGitObjects( self ):
@@ -777,17 +777,38 @@
{
"name": [ "get", "public", "events" ],
"group": "events",
"type": { "cardinality": "list", "name": "Event" }
"type": { "cardinality": "list", "name": "Event" },
"request": {
"verb": "GET",
"url": [
{ "type": "attribute", "value": [ "url" ] },
{ "type": "constant", "value": "/events/public" }
]
}
},
{
"name": [ "get", "received", "events" ],
"group": "events",
"type": { "cardinality": "list", "name": "Event" }
"type": { "cardinality": "list", "name": "Event" },
"request": {
"verb": "GET",
"url": [
{ "type": "attribute", "value": [ "url" ] },
{ "type": "constant", "value": "/received_events" }
]
}
},
{
"name": [ "get", "public", "received", "events" ],
"group": "events",
"type": { "cardinality": "list", "name": "Event" }
"type": { "cardinality": "list", "name": "Event" },
"request": {
"verb": "GET",
"url": [
{ "type": "attribute", "value": [ "url" ] },
{ "type": "constant", "value": "/received_events/public" }
]
}
}
]
},
@@ -4906,6 +4906,21 @@
"public",
"events"
],
"request": {
"url": [
{
"type": "attribute",
"value": [
"url"
]
},
{
"type": "constant",
"value": "/events/public"
}
],
"verb": "GET"
},
"optional_parameters": [],
"type": {
"simple": false,
@@ -4922,6 +4937,21 @@
"received",
"events"
],
"request": {
"url": [
{
"type": "attribute",
"value": [
"url"
]
},
{
"type": "constant",
"value": "/received_events"
}
],
"verb": "GET"
},
"optional_parameters": [],
"type": {
"simple": false,
@@ -4939,6 +4969,21 @@
"received",
"events"
],
"request": {
"url": [
{
"type": "attribute",
"value": [
"url"
]
},
{
"type": "constant",
"value": "/received_events/public"
}
],
"verb": "GET"
},
"optional_parameters": [],
"type": {
"simple": false,
-2
View File
@@ -783,7 +783,6 @@ Attributes
Comments
--------
* `create_comment( < body, commit_id, path, position > or < body, in_reply_to > )`: `PullRequestComment`
* `get_comment( id )`: `PullRequestComment`
* `id`
* `get_comments()`: list of `PullRequestComment`
@@ -1078,7 +1077,6 @@ Modification
Pulls
-----
* `create_pull( < title, body, base, head > or < issue, base, head > )`: `PullRequest`
* `get_pull( number )`: `PullRequest`
* `number`
* `get_pulls( [state] )`: list of `PullRequest`
+8 -6
View File
@@ -3,6 +3,7 @@ import GithubObjects.AuthenticatedUser
import GithubObjects.NamedUser
import GithubObjects.Organization
import GithubObjects.Gist
import GithubObjects.PaginatedList
class Github:
def __init__( self, login, password ):
@@ -33,9 +34,10 @@ class Github:
return GithubObjects.Gist.Gist( self.__requester, { "id": id }, lazy = False )
def get_gists( self ):
status, headers, data = self.__requester.request( "GET", "/gists/public", None, None )
return [
GithubObjects.Gist.Gist( self.__requester, attributes, lazy = True )
for attributes
in data
]
status, headers, data = self.__requester.request( "GET", "https://api.github.com/gists/public", None, None )
return GithubObjects.PaginatedList.PaginatedList(
GithubObjects.Gist.Gist,
self.__requester,
headers,
data
)
+36 -3
View File
@@ -238,13 +238,46 @@ class NamedUser( object ):
)
def get_public_events( self ):
pass
status, headers, data = self.__requester.request(
"GET",
str( self.url ) + "/events/public",
None,
None
)
return PaginatedList.PaginatedList(
Event.Event,
self.__requester,
headers,
data
)
def get_public_received_events( self ):
pass
status, headers, data = self.__requester.request(
"GET",
str( self.url ) + "/received_events/public",
None,
None
)
return PaginatedList.PaginatedList(
Event.Event,
self.__requester,
headers,
data
)
def get_received_events( self ):
pass
status, headers, data = self.__requester.request(
"GET",
str( self.url ) + "/received_events",
None,
None
)
return PaginatedList.PaginatedList(
Event.Event,
self.__requester,
headers,
data
)
def get_repo( self, name ):
status, headers, data = self.__requester.request(
+3 -1
View File
@@ -9,6 +9,7 @@ class PaginatedList:
def __init__( self, contentClass, requester, headers, data ):
self.__requester = requester
self.__contentClass = contentClass
self.__pages = 0
self.__fromData( headers, data )
def __iter__( self ):
@@ -27,7 +28,8 @@ class PaginatedList:
def __fromData( self, headers, data ):
links = self.__parseLinkHeader( headers )
if len( data ) > 0 and "next" in links:
if len( data ) > 0 and "next" in links and self.__pages < 9:
self.__pages += 1
self.__nextUrl = links[ "next" ]
else:
self.__nextUrl = None