add pass_through option to responses
This commit is contained in:
parent
856de724d0
commit
1abd880ab8
@ -10,6 +10,7 @@ import six
|
|||||||
from collections import namedtuple, Sequence, Sized
|
from collections import namedtuple, Sequence, Sized
|
||||||
from functools import update_wrapper
|
from functools import update_wrapper
|
||||||
from cookies import Cookies
|
from cookies import Cookies
|
||||||
|
from requests.adapters import HTTPAdapter
|
||||||
from requests.utils import cookiejar_from_dict
|
from requests.utils import cookiejar_from_dict
|
||||||
from requests.exceptions import ConnectionError
|
from requests.exceptions import ConnectionError
|
||||||
from requests.sessions import REDIRECT_STATI
|
from requests.sessions import REDIRECT_STATI
|
||||||
@ -120,10 +121,12 @@ class RequestsMock(object):
|
|||||||
POST = 'POST'
|
POST = 'POST'
|
||||||
PUT = 'PUT'
|
PUT = 'PUT'
|
||||||
|
|
||||||
def __init__(self, assert_all_requests_are_fired=True):
|
def __init__(self, assert_all_requests_are_fired=True, pass_through=True):
|
||||||
self._calls = CallList()
|
self._calls = CallList()
|
||||||
self.reset()
|
self.reset()
|
||||||
self.assert_all_requests_are_fired = assert_all_requests_are_fired
|
self.assert_all_requests_are_fired = assert_all_requests_are_fired
|
||||||
|
self.pass_through = pass_through
|
||||||
|
self.original_send = HTTPAdapter.send
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
self._urls = []
|
self._urls = []
|
||||||
@ -235,6 +238,9 @@ class RequestsMock(object):
|
|||||||
match = self._find_match(request)
|
match = self._find_match(request)
|
||||||
# TODO(dcramer): find the correct class for this
|
# TODO(dcramer): find the correct class for this
|
||||||
if match is None:
|
if match is None:
|
||||||
|
if self.pass_through:
|
||||||
|
return self.original_send(adapter, request, **kwargs)
|
||||||
|
|
||||||
error_msg = 'Connection refused: {0} {1}'.format(request.method,
|
error_msg = 'Connection refused: {0} {1}'.format(request.method,
|
||||||
request.url)
|
request.url)
|
||||||
response = ConnectionError(error_msg)
|
response = ConnectionError(error_msg)
|
||||||
@ -317,7 +323,7 @@ class RequestsMock(object):
|
|||||||
|
|
||||||
|
|
||||||
# expose default mock namespace
|
# expose default mock namespace
|
||||||
mock = _default_mock = RequestsMock(assert_all_requests_are_fired=False)
|
mock = _default_mock = RequestsMock(assert_all_requests_are_fired=False, pass_through=False)
|
||||||
__all__ = []
|
__all__ = []
|
||||||
for __attr in (a for a in dir(_default_mock) if not a.startswith('_')):
|
for __attr in (a for a in dir(_default_mock) if not a.startswith('_')):
|
||||||
__all__.append(__attr)
|
__all__.append(__attr)
|
||||||
|
Loading…
Reference in New Issue
Block a user