1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-08 16:53:23 +00:00

refactored, 1 failing test

This commit is contained in:
Julien Funk
2017-01-13 16:09:42 -05:00
parent 6f8486e0a2
commit a033bc729c
8 changed files with 41 additions and 69 deletions

View File

@@ -8,8 +8,8 @@ from .compat import contextlib, collections
from .errors import UnhandledHTTPRequestError
from .matchers import requests_match, uri, method
from .patch import CassettePatcherBuilder
from .persist import load_cassette, save_cassette
from .serializers import yamlserializer
from .persisters.filesystem import FilesystemPersister
from .util import partition_dict
@@ -163,16 +163,13 @@ class Cassette(object):
def use(cls, **kwargs):
return CassetteContextDecorator.from_args(cls, **kwargs)
def __init__(self, path, serializer=yamlserializer, save_callback=None,
load_callback=None, record_mode='once',
def __init__(self, path, serializer=yamlserializer, persister=FilesystemPersister, record_mode='once',
match_on=(uri, method), before_record_request=None,
before_record_response=None, custom_patches=(),
inject=False):
self._persister = persister
self._path = path
self._serializer = serializer
self._save_callback = save_callback
self._load_callback = load_callback
self._match_on = match_on
self._before_record_request = before_record_request or (lambda x: x)
self._before_record_response = before_record_response or (lambda x: x)
@@ -274,20 +271,18 @@ class Cassette(object):
def _save(self, force=False):
if force or self.dirty:
save_cassette(
self._persister.save_cassette(
self._path,
self._as_dict(),
serializer=self._serializer,
save_callback=self._save_callback
)
self.dirty = False
def _load(self):
try:
requests, responses = load_cassette(
requests, responses = self._persister.load_cassette(
self._path,
serializer=self._serializer,
load_callback=self._load_callback
)
for request, response in zip(requests, responses):
self.append(request, response)