Files
requests/tests/unit/test_requests_api.py
T
2011-09-17 17:54:18 +02:00

210 lines
8.5 KiB
Python
Executable File

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
import mock
import sys
import os
sys.path.append(os.getcwd())
try:
import omnijson as json
except ImportError:
import json
import requests
from requests.models import Response
class RequestsAPIUnitTests(unittest.TestCase):
"""Requests API unit test cases."""
def setUp(self):
pass
def tearDown(self):
"""Teardown."""
pass
@mock.patch('requests.api.dispatch_hook')
@mock.patch('requests.api.Request')
@mock.patch('requests.api.cookiejar_from_dict')
def test_request(self, mock_cjar, mock_request, mock_hook):
args = dict(
method = None,
url = None,
data = None,
params = None,
headers = None,
cookiejar = None,
files = None,
auth = None,
timeout = 1,
allow_redirects = None,
proxies = None,
)
hooks = {'args': args, 'pre_request': mock_request,
'post_request': mock_request, 'response': 'response'}
sideeffect = lambda x,y,z: hooks[x]
mock_cjar.return_value = None
mock_request.send = mock.Mock(return_value={})
mock_request.response = "response"
mock_hook.side_effect = sideeffect
r = requests.request('get','http://google.com')
mock_cjar.assert_called_once_with({})
mock_hook.assert_called__with('args', None, args)
mock_request.assert_called_once_with(**args)
mock_hook.assert_called__with('pre_request', None, mock_request)
mock_request.send.assert_called_once_with()
mock_hook.assert_called__with('post_request', None, mock_request)
mock_hook.assert_called__with('response', None, mock_request)
self.assertEqual(r, "response")
@mock.patch('requests.api.request')
def test_http_get(self, mock_request):
mock_request.return_value = Response()
requests.get('http://google.com')
mock_request.assert_called_once_with('get', 'http://google.com',
allow_redirects= True)
@mock.patch('requests.api.request')
def test_http_get_with_kwargs(self, mock_request):
mock_request.return_value = Response()
requests.get('http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
mock_request.assert_called_once_with('get', 'http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
@mock.patch('requests.api.request')
def test_http_head(self, mock_request):
mock_request.return_value = Response()
requests.head('http://google.com')
mock_request.assert_called_once_with('head', 'http://google.com',
allow_redirects= True)
@mock.patch('requests.api.request')
def test_http_head_with_kwargs(self, mock_request):
mock_request.return_value = Response()
requests.head('http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
mock_request.assert_called_once_with('head', 'http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
@mock.patch('requests.api.request')
def test_http_post(self, mock_request):
mock_request.return_value = Response()
requests.post('http://google.com', {})
mock_request.assert_called_once_with('post', 'http://google.com',
data= {})
@mock.patch('requests.api.request')
def test_http_post_with_kwargs(self, mock_request):
mock_request.return_value = Response()
requests.post('http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
mock_request.assert_called_once_with('post', 'http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
@mock.patch('requests.api.request')
def test_http_put(self, mock_request):
mock_request.return_value = Response()
requests.put('http://google.com', {})
mock_request.assert_called_once_with('put', 'http://google.com',
data= {})
@mock.patch('requests.api.request')
def test_http_put_with_kwargs(self, mock_request):
mock_request.return_value = Response()
requests.put('http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
mock_request.assert_called_once_with('put', 'http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
@mock.patch('requests.api.request')
def test_http_patch(self, mock_request):
mock_request.return_value = Response()
requests.patch('http://google.com', {})
mock_request.assert_called_once_with('patch', 'http://google.com',
data= {})
@mock.patch('requests.api.request')
def test_http_patch_with_kwargs(self, mock_request):
mock_request.return_value = Response()
requests.patch('http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
mock_request.assert_called_once_with('patch', 'http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
@mock.patch('requests.api.request')
def test_http_delete(self, mock_request):
mock_request.return_value = Response()
requests.delete('http://google.com')
mock_request.assert_called_once_with('delete', 'http://google.com')
@mock.patch('requests.api.request')
def test_http_delete_with_kwargs(self, mock_request):
mock_request.return_value = Response()
requests.delete('http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
mock_request.assert_called_once_with('delete', 'http://google.com',
params="params", data="data", headers="headers",
cookies="cookies",
files="files", auth="auth", timeout="timeout",
allow_redirects=False,
proxies="proxies", hooks="hooks")
if __name__ == '__main__':
unittest.main()