def test_proxy_client_factory_prepare_mangle_req(mocker, freeze): freeze.freeze(datetime.datetime(2015, 1, 1, 3, 30, 15, 50)) req = http.Request('GET / HTTP/1.1\r\n\r\n') mangreq = http.Request('BOOO / HTTP/1.1\r\n\r\n') def inc_day_mangle(x, y): freeze.delta(days=1) return mock_deferred((mangreq, True)) rsave = mocker.patch.object(pappyproxy.http.Request, 'async_deep_save', autospec=True, side_effect=mock_req_async_save) mocker.patch('pappyproxy.context.in_scope').return_value = True mocker.patch('pappyproxy.macros.mangle_request', side_effect=inc_day_mangle) cf = ProxyClientFactory(req, save_all=True, stream_response=False, return_transport=None) yield cf.prepare_request() assert cf.request == mangreq assert req.time_start == datetime.datetime(2015, 1, 1, 3, 30, 15, 50) assert cf.request.time_start == datetime.datetime(2015, 1, 2, 3, 30, 15, 50) assert cf.request.reqid is not None assert len(rsave.mock_calls) == 2
def test_proxy_client_factory_prepare_reqs_simple(mocker, freeze): import datetime freeze.freeze(datetime.datetime(2015, 1, 1, 3, 30, 15, 50)) req = http.Request('GET / HTTP/1.1\r\n\r\n') rsave = mocker.patch.object(pappyproxy.http.Request, 'async_deep_save', autospec=True, side_effect=mock_req_async_save) rsave.return_value = mock_deferred() mocker.patch('pappyproxy.context.in_scope').return_value = True mocker.patch( 'pappyproxy.macros.mangle_request').return_value = mock_deferred( (req, False)) cf = ProxyClientFactory(req, save_all=False, stream_response=False, return_transport=None) yield cf.prepare_request() assert req.time_start == datetime.datetime(2015, 1, 1, 3, 30, 15, 50) assert req.reqid is None assert not rsave.called assert len(rsave.mock_calls) == 0
def test_proxy_client_factory_prepare_reqs_360_noscope_save(mocker, freeze): freeze.freeze(datetime.datetime(2015, 1, 1, 3, 30, 15, 50)) req = http.Request('GET / HTTP/1.1\r\n\r\n') mangreq = http.Request('BOOO / HTTP/1.1\r\n\r\n') rsave = mocker.patch.object(pappyproxy.http.Request, 'async_deep_save', autospec=True, side_effect=mock_req_async_save) mocker.patch('pappyproxy.context.in_scope').return_value = False mocker.patch('pappyproxy.macros.mangle_request', side_effect=func_deleted) cf = ProxyClientFactory(req, save_all=True, stream_response=False, return_transport=None) yield cf.prepare_request() assert req.time_start == None assert req.reqid is None assert not rsave.called assert len(rsave.mock_calls) == 0
def test_proxy_client_factory_prepare_reqs_360_noscope(mocker, freeze): import datetime freeze.freeze(datetime.datetime(2015, 1, 1, 3, 30, 15, 50)) req = http.Request('GET / HTTP/1.1\r\n\r\n') rsave = mocker.patch('pappyproxy.http.Request.async_deep_save') rsave.return_value = mock_deferred() mocker.patch('pappyproxy.context.in_scope').return_value = False mocker.patch('pappyproxy.macros.mangle_request', new=func_deleted) cf = ProxyClientFactory(req, save_all=True, stream_response=False, return_transport=None) yield cf.prepare_request() assert req.time_start == None assert req.reqid is None assert not rsave.called assert len(rsave.mock_calls) == 0