1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-10 17:45:35 +00:00

Capture effective URL in tornado

This commit is contained in:
Maarten van Schaik
2015-08-14 12:08:57 +02:00
parent d0aa5fddb7
commit 7d68f0577a
2 changed files with 12 additions and 0 deletions

View File

@@ -81,6 +81,16 @@ def test_body(get_client, tmpdir, scheme):
assert content == (yield get(get_client(), url)).body assert content == (yield get(get_client(), url)).body
assert 1 == cass.play_count assert 1 == cass.play_count
@pytest.mark.gen_test
def test_effective_url(get_client, scheme, tmpdir):
'''Ensure that the effective_url is captured'''
url = scheme + '://httpbin.org/redirect-to?url=/html'
with vcr.use_cassette(str(tmpdir.join('url.yaml'))):
effective_url = (yield get(get_client(), url)).effective_url
with vcr.use_cassette(str(tmpdir.join('url.yaml'))) as cass:
assert effective_url == (yield get(get_client(), url)).effective_url
assert 1 == cass.play_count
@pytest.mark.gen_test @pytest.mark.gen_test
def test_auth(get_client, tmpdir, scheme): def test_auth(get_client, tmpdir, scheme):

View File

@@ -62,6 +62,7 @@ def vcr_fetch_impl(cassette, real_fetch_impl):
reason=vcr_response['status']['message'], reason=vcr_response['status']['message'],
headers=headers, headers=headers,
buffer=BytesIO(vcr_response['body']['string']), buffer=BytesIO(vcr_response['body']['string']),
effective_url=vcr_response.get('url'),
) )
return callback(response) return callback(response)
else: else:
@@ -93,6 +94,7 @@ def vcr_fetch_impl(cassette, real_fetch_impl):
}, },
'headers': headers, 'headers': headers,
'body': {'string': response.body}, 'body': {'string': response.body},
'url': response.effective_url,
} }
cassette.append(vcr_request, vcr_response) cassette.append(vcr_request, vcr_response)
return callback(response) return callback(response)