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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from datetime import datetime
import requests
from mock import patch
from pygithub3.tests.utils.core import TestCase
from pygithub3.services.base import Service, MimeTypeMixin
from pygithub3.core.result import base
from pygithub3.tests.utils.base import DummyRequest, mock_response
from pygithub3.tests.utils.services import _, DummyService
@patch.object(requests.sessions.Session, 'request')
class TestServiceCalls(TestCase):
def setUp(self):
self.s = Service()
self.r = DummyRequest()
self.args = dict(arg1='arg1', arg2='arg2')
def test_BOOL(self, request_method):
self.s._bool(self.r, **self.args)
request_method.assert_called_with('head', _('dummyrequest'),
params=self.args)
def test_PUT(self, request_method):
self.s._put(self.r, **self.args)
data = 'PLACEHOLDER' # See _put
request_method.assert_called_with('put', _('dummyrequest'),
data=data, params=self.args)
def test_DELETE(self, request_method):
request_method.return_value = mock_response('delete')
self.s._delete(self.r, **self.args)
request_method.assert_called_with('delete', _('dummyrequest'),
data=None, params=self.args)
def test_POST(self, request_method):
request_method.return_value = mock_response('post')
self.s._post(self.r, **self.args)
request_method.assert_called_with('post', _('dummyrequest'),
data=None, params=self.args)
def test_GET(self, request_method):
request_method.return_value = mock_response()
self.s._get(self.r, **self.args)
request_method.assert_called_with('get', _('dummyrequest'),
params=self.args)
def test_GET_result(self, request_method):
result = self.s._get_result(self.r, **self.args)
self.assertFalse(request_method.called)
self.assertIsInstance(result, base.Result)
def test_normalize_ok(self, request_method):
data = {'test': datetime(2012, 12, 12, 3, 3, 3)}
self.s._normalize_date('test', data)
self.assertEqual(data['test'], '2012-12-12T03:03:03Z')
def test_normalize_fail(self, request_method):
data = {'test': 'fail'}
self.s._normalize_date('test', data)
self.assertEqual(data['test'], 'fail')
@patch.object(requests.sessions.Session, 'request')
class TestMimeType(TestCase):
def setUp(self):
self.ms = DummyService()
def test_WITHOUT_mimetype(self, request_method):
request_method.return_value = mock_response()
self.ms.dummy_request()
request_method.assert_called_with('get', _('dummyrequest'), params={})
def test_WITH_mimetype(self, request_method):
request_method.return_value = mock_response()
self.ms.set_html()
self.ms.dummy_request()
request_method.assert_called_with('get', _('dummyrequest'),
headers={'Accept': 'application/vnd.github.%s.html+json' %
MimeTypeMixin.VERSION},
params={})
|