1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
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.exceptions import *
class TestUserHandler(TestCase):
""" Test public api about users """
def setUp(self):
self.gh = api.Github()
self.handler = self.gh.users
def test_set_username(self):
handler = self.handler.set_username('test')
self.assertEquals(id(handler), id(self.handler))
self.assertEquals(handler.username, 'test')
model_user = Mock()
model_user.login = 'test'
handler = self.handler.set_username(model_user)
self.assertEquals(handler.username, 'test')
def test_parse_user(self):
model_user = Mock()
model_user.login = 'test'
self.assertRaises(UserIsAnonymous, self.handler._parse_user, None)
user = self.handler._parse_user(model_user)
self.assertEquals(user, 'test')
user = self.handler._parse_user('test')
self.assertEquals(user, 'test')
self.assertRaises(UserIsAnonymous, self.handler._parse_user, Mock())
self.handler.set_username('octocat')
self.assertEquals('octocat', self.handler._parse_user(None))
self.assertEquals('octocat', self.handler._parse_user(Mock()))
self.assertEquals('test', self.handler._parse_user('test'))
self.assertEquals('test', self.handler._parse_user(model_user))
@patch.object(api.Github, 'get')
def test_get(self, get):
get.return_value = GET_USER
self.assertRaises(UserIsAnonymous, self.handler.get)
user = self.handler.get('octocat')
self.assertIsInstance(user, User)
get.assert_called_with('users/octocat')
@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)
followers = list(self.handler.get_followers('test'))
self.assertIsInstance(followers[0], User)
pass
|