aboutsummaryrefslogtreecommitdiffstats
path: root/github3/tests/user_handler_test.py
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2011-11-14 00:46:46 +0100
committerDavid Medina <davidmedina9@gmail.com>2011-11-14 00:47:24 +0100
commit0664d60525f03ba5cbeee080b3d69a4f79bd249a (patch)
tree57016551b9a78823423df61f9d6ee3d5499765be /github3/tests/user_handler_test.py
parentAdded user and limit in all User handler methods (diff)
downloadpython-github3-0664d60525f03ba5cbeee080b3d69a4f79bd249a.tar.xz
python-github3-0664d60525f03ba5cbeee080b3d69a4f79bd249a.zip
Complete anonymous User handler test
Diffstat (limited to 'github3/tests/user_handler_test.py')
-rw-r--r--github3/tests/user_handler_test.py84
1 files changed, 80 insertions, 4 deletions
diff --git a/github3/tests/user_handler_test.py b/github3/tests/user_handler_test.py
index 9eb3708..ef57925 100644
--- a/github3/tests/user_handler_test.py
+++ b/github3/tests/user_handler_test.py
@@ -5,10 +5,17 @@ from unittest import TestCase
from mock import Mock, patch
from github3 import api
from fixtures import *
-from github3.models.user import User, AuthUser
+from github3.models import User, AuthUser, Repo, Gist, Org
from github3.exceptions import *
+class TestAuthUserHandler(TestCase):
+ """ Test private api about user logged """
+
+ def setUp(self):
+ pass
+
+
class TestUserHandler(TestCase):
""" Test public api about users """
@@ -51,8 +58,77 @@ class TestUserHandler(TestCase):
@patch.object(api.Github, '_request')
def test_get_followers(self, request):
response = request.return_value
- response.headers = {'link': GET_LINK} # 5 pages
- response.content = self.gh._parser.dumps(GET_FOLLOWERS)
+ response.headers = {'link': GET_LINK}
+ response.content = self.gh._parser.dumps(GET_SHORT_USERS) # 2 users
followers = list(self.handler.get_followers('test'))
+ request.assert_called_with('GET', 'users/test/followers', page=5)
self.assertIsInstance(followers[0], User)
- pass
+ self.assertEquals(len(followers), 10)
+ followers = list(self.handler.get_followers('test', limit=2))
+ self.assertEquals(len(followers), 2)
+ self.assertEquals(followers[0].login, 'octocat')
+
+ @patch.object(api.Github, '_request')
+ def test_get_following(self, request):
+ response = request.return_value
+ response.headers = {'link': GET_LINK}
+ response.content = self.gh._parser.dumps(GET_SHORT_USERS) # 2 users
+ following = list(self.handler.get_following('test'))
+ request.assert_called_with('GET', 'users/test/following', page=5)
+ self.assertIsInstance(following[0], User)
+ self.assertEquals(len(following), 10)
+ following = list(self.handler.get_following('test', limit=2))
+ self.assertEquals(len(following), 2)
+
+ @patch.object(api.Github, '_request')
+ def test_get_repos(self, request):
+ response = request.return_value
+ response.headers = {'link': GET_LINK}
+ response.content = self.gh._parser.dumps(GET_SHORT_REPOS) # 1 repo
+ repos = list(self.handler.get_repos('test'))
+ request.assert_called_with('GET', 'users/test/repos', page=5)
+ self.assertIsInstance(repos[0], Repo)
+ self.assertEquals(len(repos), 5)
+ repos = list(self.handler.get_repos('test', limit=2))
+ self.assertEquals(len(repos), 2)
+ self.assertIsInstance(repos[0].owner, User)
+
+ @patch.object(api.Github, '_request')
+ def test_get_watched(self, request):
+ response = request.return_value
+ response.headers = {'link': GET_LINK}
+ response.content = self.gh._parser.dumps(GET_SHORT_REPOS) # 1 repo
+ watched = list(self.handler.get_watched('test'))
+ request.assert_called_with('GET', 'users/test/watched', page=5)
+ self.assertIsInstance(watched[0], Repo)
+ self.assertEquals(len(watched), 5)
+ watched = list(self.handler.get_watched('test', limit=2))
+ self.assertEquals(len(watched), 2)
+
+ @patch.object(api.Github, '_request')
+ def test_get_orgs(self, request):
+ response = request.return_value
+ response.headers = {'link': GET_LINK}
+ response.content = self.gh._parser.dumps(GET_SHORT_ORGS) # 1 repo
+ orgs = list(self.handler.get_orgs('test'))
+ request.assert_called_with('GET', 'users/test/orgs', page=5)
+ self.assertIsInstance(orgs[0], Org)
+ self.assertEquals(len(orgs), 5)
+ orgs = list(self.handler.get_orgs('test', limit=2))
+ self.assertEquals(len(orgs), 2)
+ self.assertEquals(orgs[0].login, 'github')
+
+ @patch.object(api.Github, '_request')
+ def test_get_gists(self, request):
+ response = request.return_value
+ response.headers = {'link': GET_LINK}
+ response.content = self.gh._parser.dumps(GET_SHORT_GISTS) # 1 repo
+ gists = list(self.handler.get_gists('test'))
+ request.assert_called_with('GET', 'users/test/gists', page=5)
+ self.assertIsInstance(gists[0], Gist)
+ self.assertEquals(len(gists), 5)
+ gists = list(self.handler.get_gists('test', limit=2))
+ self.assertEquals(len(gists), 2)
+ self.assertIsInstance(gists[0].files, dict)
+ from github3.models.gists import File
+ self.assertIsInstance(gists[0].files['ring.erl'], File)