From ed682cf354a8b4b1190f47196e6be826d565f2a1 Mon Sep 17 00:00:00 2001 From: Sri Prasanna Date: Thu, 21 Feb 2013 13:04:55 +0300 Subject: [PATCH] + @bhartin - now vcr can handle multiple requests --- test.py | 17 ++++++++++++++--- vcr/files.py | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/test.py b/test.py index a04efb4..10417ec 100644 --- a/test.py +++ b/test.py @@ -5,10 +5,10 @@ import vcr from vcr.cassette import Cassette import urllib2 from urllib import urlencode +import json TEST_CASSETTE_FILE = 'cassettes/test_req.yaml' - class TestHttpRequest(unittest.TestCase): def tearDown(self): @@ -17,6 +17,11 @@ class TestHttpRequest(unittest.TestCase): except OSError: pass + def strip_origin(self, body): + body = json.loads(body) + del body['origin'] + return body + def test_response_code(self): code = urllib2.urlopen('http://httpbin.org/').getcode() with vcr.use_cassette(TEST_CASSETTE_FILE): @@ -37,11 +42,17 @@ class TestHttpRequest(unittest.TestCase): def test_multiple_requests(self): body1 = urllib2.urlopen('http://httpbin.org/').read() body2 = urllib2.urlopen('http://httpbin.org/get').read() + body2 = self.strip_origin(body2) with vcr.use_cassette(TEST_CASSETTE_FILE): self.assertEqual(body1, urllib2.urlopen('http://httpbin.org/').read()) - self.assertEqual(body2, urllib2.urlopen('http://httpbin.org/get').read()) + new_body2 = urllib2.urlopen('http://httpbin.org/get').read() + new_body2 = self.strip_origin(new_body2) + self.assertEqual(body2, new_body2) + self.assertEqual(body1, urllib2.urlopen('http://httpbin.org/').read()) - self.assertEqual(body2, urllib2.urlopen('http://httpbin.org/get').read()) + new_body2 = urllib2.urlopen('http://httpbin.org/get').read() + new_body2 = self.strip_origin(new_body2) + self.assertEqual(body2, new_body2) class TestHttps(unittest.TestCase): diff --git a/vcr/files.py b/vcr/files.py index 79047d7..86b6d18 100644 --- a/vcr/files.py +++ b/vcr/files.py @@ -16,5 +16,5 @@ def save_cassette(cassette_path, cassette): dirname, filename = os.path.split(cassette_path) if not os.path.exists(dirname): os.makedirs(dirname) - with open(cassette_path, 'wc') as cassette_file: + with open(cassette_path, 'a') as cassette_file: cassette_file.write(yaml.dump(cassette.serialize()))