From 912452e8631f7a69346700be90785db20457f2fc Mon Sep 17 00:00:00 2001 From: Kevin McCarthy Date: Tue, 17 Sep 2013 13:18:26 -1000 Subject: [PATCH] Only use the relative path in HTTP requests This causes a pretty big problem on out-of-spec HTTP servers (like Flickr). Closes #31 --- README.md | 2 ++ setup.py | 2 +- tests/integration/test_wild.py | 6 ++++++ vcr/stubs/__init__.py | 4 ++-- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b7f481d1..59e90c2e 100644 --- a/README.md +++ b/README.md @@ -259,6 +259,8 @@ This library is a work in progress, so the API might change on you. There are probably some [bugs](https://github.com/kevin1024/vcrpy/issues?labels=bug&page=1&state=open) floating around too. ##Changelog +* 0.3.1: Fix issue causing full paths to be sent on the HTTP request + line. * 0.3.0: *Backwards incompatible release* - Added support for record modes, and changed the default recording behavior to the "once" record mode. Please see the documentation on record modes for more. Added diff --git a/setup.py b/setup.py index de566bb3..96104b95 100644 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ def run_tests(self): sys.exit(errno) setup(name='vcrpy', - version='0.3.0', + version='0.3.1', description="A Python port of Ruby's VCR to make mocking HTTP easier", author='Kevin McCarthy', author_email='me@kevinmccarthy.org', diff --git a/tests/integration/test_wild.py b/tests/integration/test_wild.py index 335c4395..167219d4 100644 --- a/tests/integration/test_wild.py +++ b/tests/integration/test_wild.py @@ -45,3 +45,9 @@ def _pretend_to_be_flickr_library(): assert len(cass) == 1 _pretend_to_be_flickr_library() assert cass.play_count == 1 + +def test_flickr_should_respond_with_200(tmpdir): + testfile = str(tmpdir.join('flickr.yml')) + with vcr.use_cassette(testfile): + r = requests.post("http://api.flickr.com/services/upload") + assert r.status_code == 200 diff --git a/vcr/stubs/__init__.py b/vcr/stubs/__init__.py index 6510ce93..d779cc26 100644 --- a/vcr/stubs/__init__.py +++ b/vcr/stubs/__init__.py @@ -79,7 +79,7 @@ def send(self, data): def _send_request(self, method, url, body, headers): """ - Coppy+pasted from python stdlib 2.6 source because it + Copy+pasted from python stdlib 2.6 source because it has a call to self.send() which I have overridden #stdlibproblems #fml """ @@ -160,7 +160,7 @@ def getresponse(self, _=False): self._baseclass.request( self, method=self._vcr_request.method, - url=self._vcr_request.url, + url=self._vcr_request.path, body=self._vcr_request.body, headers=dict(self._vcr_request.headers or {}) )