1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-09 01:03:24 +00:00

+ @bhartin - now vcr can handle multiple requests

This commit is contained in:
Sri Prasanna
2013-02-21 13:04:55 +03:00
parent 1d3fe5c33e
commit ed682cf354
2 changed files with 15 additions and 4 deletions

17
test.py
View File

@@ -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):

View File

@@ -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()))