Add 4 (failing) tests for legacy search API (issue #49)

Naïve implementation done in this commit will not work:
- pagination is managed another way
- users, repositories and issues do not have the standard format
This commit is contained in:
Vincent Jacques
2012-06-28 22:06:05 +01:00
parent bdad6a4612
commit ed31abe6de
8 changed files with 82 additions and 4 deletions
+35 -3
View File
@@ -17,6 +17,7 @@ import NamedUser
import Organization
import Gist
import PaginatedList
import Repository
class Github( object ):
def __init__( self, login_or_token = None, password = None ):
@@ -66,10 +67,41 @@ class Github( object ):
)
def search_repos( self, keyword ):
pass
assert isinstance( keyword, ( str, unicode ) ), keyword
headers, data = self.__requester.requestAndCheck(
"GET",
"https://api.github.com/legacy/repos/search/" + keyword,
None,
None
)
return PaginatedList.PaginatedList(
Repository.Repository,
self.__requester,
headers,
data[ "repositories" ]
)
def search_users( self, keyword ):
pass
assert isinstance( keyword, ( str, unicode ) ), keyword
headers, data = self.__requester.requestAndCheck(
"GET",
"https://api.github.com/legacy/user/search/" + keyword,
None,
None
)
return PaginatedList.PaginatedList(
NamedUser.NamedUser,
self.__requester,
headers,
data[ "users" ]
)
def search_user_by_email( self, email ):
pass
assert isinstance( email, ( str, unicode ) ), email
headers, data = self.__requester.requestAndCheck(
"GET",
"https://api.github.com/legacy/user/email/" + email,
None,
None
)
return NamedUser.NamedUser( self.__requester, data[ "user" ], completed = False )
+14 -1
View File
@@ -1003,7 +1003,20 @@ class Repository( GithubObject.GithubObject ):
)
def search_issues( self, state, keyword ):
pass
assert state in [ "open", "closed" ], state
assert isinstance( keyword, ( str, unicode ) ), keyword
headers, data = self._requester.requestAndCheck(
"GET",
"https://api.github.com/legacy/issues/search/" + self.owner.login + "/" + self.name + "/" + state + "/" + keyword,
None,
None
)
return PaginatedList.PaginatedList(
Issue.Issue,
self._requester,
headers,
data[ "issues" ]
)
@property
def _identity( self ):