65 | 65 |
def dict_any_mock(url, request):
|
66 | 66 |
return {
|
67 | 67 |
'content': 'Hello from %s' % (url.netloc,),
|
68 | |
'status_code': 200
|
|
68 |
'status_code': 200,
|
|
69 |
'http_vsn': 10,
|
69 | 70 |
}
|
70 | 71 |
|
71 | 72 |
|
|
135 | 136 |
self.assertEqual(r.text, u'Motörhead')
|
136 | 137 |
self.assertEqual(r.content, r.text.encode('utf-8'))
|
137 | 138 |
|
|
139 |
def test_has_raw_version(self):
|
|
140 |
with HTTMock(any_mock):
|
|
141 |
r = requests.get('http://example.com')
|
|
142 |
self.assertEqual(r.raw.version, 11)
|
|
143 |
with HTTMock(dict_any_mock):
|
|
144 |
r = requests.get('http://example.com')
|
|
145 |
self.assertEqual(r.raw.version, 10)
|
138 | 146 |
|
139 | 147 |
class DecoratorTest(unittest.TestCase):
|
140 | 148 |
|
|
241 | 249 |
r = response(200, None, {'Content-Type': 'application/json'})
|
242 | 250 |
self.assertEqual(r.headers['content-type'], 'application/json')
|
243 | 251 |
|
|
252 |
def test_response_raw_version(self):
|
|
253 |
r = response(200, None, {'Content-Type': 'application/json'},
|
|
254 |
http_vsn=10)
|
|
255 |
self.assertEqual(r.raw.version, 10)
|
|
256 |
|
244 | 257 |
def test_response_cookies(self):
|
245 | 258 |
@all_requests
|
246 | 259 |
def response_content(url, request):
|
|
267 | 280 |
self.assertTrue('foo' in session.cookies)
|
268 | 281 |
self.assertEqual(session.cookies['foo'], 'bar')
|
269 | 282 |
|
|
283 |
def test_session_persistent_cookies(self):
|
|
284 |
session = requests.Session()
|
|
285 |
with HTTMock(lambda u, r: response(200, 'Foo', {'Set-Cookie': 'foo=bar;'}, request=r)):
|
|
286 |
session.get('https://foo_bar')
|
|
287 |
with HTTMock(lambda u, r: response(200, 'Baz', {'Set-Cookie': 'baz=qux;'}, request=r)):
|
|
288 |
session.get('https://baz_qux')
|
|
289 |
self.assertEqual(len(session.cookies), 2)
|
|
290 |
self.assertTrue('foo' in session.cookies)
|
|
291 |
self.assertEqual(session.cookies['foo'], 'bar')
|
|
292 |
self.assertTrue('baz' in session.cookies)
|
|
293 |
self.assertEqual(session.cookies['baz'], 'qux')
|
|
294 |
|
270 | 295 |
def test_python_version_encoding_differences(self):
|
271 | 296 |
# Previous behavior would result in this test failing in Python3 due
|
272 | 297 |
# to how requests checks for utf-8 JSON content in requests.utils with:
|
|
340 | 365 |
results = self.several_calls(
|
341 | 366 |
1, requests.get, 'http://facebook.com/')
|
342 | 367 |
|
343 | |
self.assertEquals(facebook_mock_count.call['count'], 1)
|
|
368 |
self.assertEqual(facebook_mock_count.call['count'], 1)
|
344 | 369 |
|
345 | 370 |
@with_httmock(google_mock_count, facebook_mock_count)
|
346 | 371 |
def test_several_call_decorated(self):
|
|
356 | 381 |
self.assertEqual(r.content, b'Hello from Facebook')
|
357 | 382 |
|
358 | 383 |
self.several_calls(1, requests.get, 'http://facebook.com/')
|
359 | |
self.assertEquals(facebook_mock_count.call['count'], 4)
|
|
384 |
self.assertEqual(facebook_mock_count.call['count'], 4)
|
360 | 385 |
|
361 | 386 |
def test_store_several_requests(self):
|
362 | 387 |
with HTTMock(google_mock_store_requests):
|