diff --git a/tests/unit/test_requests_api.py b/tests/unit/test_requests_api.py index 98591c3b..ae63ab85 100755 --- a/tests/unit/test_requests_api.py +++ b/tests/unit/test_requests_api.py @@ -26,6 +26,45 @@ class RequestsAPIUnitTests(unittest.TestCase): 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() @@ -33,6 +72,22 @@ class RequestsAPIUnitTests(unittest.TestCase): 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() @@ -40,6 +95,22 @@ class RequestsAPIUnitTests(unittest.TestCase): 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() @@ -47,6 +118,23 @@ class RequestsAPIUnitTests(unittest.TestCase): 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() @@ -54,6 +142,23 @@ class RequestsAPIUnitTests(unittest.TestCase): 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() @@ -61,11 +166,44 @@ class RequestsAPIUnitTests(unittest.TestCase): 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()