diff --git a/tests/integration/test_register_persister.py b/tests/integration/test_register_persister.py index 64e20b6..758a1cf 100644 --- a/tests/integration/test_register_persister.py +++ b/tests/integration/test_register_persister.py @@ -10,10 +10,25 @@ import vcr from vcr.persisters.filesystem import FilesystemPersister +class CustomFilesystemPersister(object): + '''Behaves just like default FilesystemPersister but adds .test extension + to the cassette file''' + @staticmethod + def load_cassette(cassette_path, serializer): + cassette_path += '.test' + return FilesystemPersister.load_cassette(cassette_path, serializer) + + @staticmethod + def save_cassette(cassette_path, cassette_dict, serializer): + cassette_path += '.test' + FilesystemPersister.save_cassette(cassette_path, cassette_dict, + serializer) + + def test_save_cassette_with_custom_persister(tmpdir, httpbin): '''Ensure you can save a cassette using custom persister''' my_vcr = vcr.VCR() - my_vcr.register_persister(FilesystemPersister) + my_vcr.register_persister(CustomFilesystemPersister) # Check to make sure directory doesnt exist assert not os.path.exists(str(tmpdir.join('nonexistent'))) @@ -23,7 +38,7 @@ def test_save_cassette_with_custom_persister(tmpdir, httpbin): urlopen(httpbin.url).read() # Callback should have made the file and the directory - assert os.path.exists(str(tmpdir.join('nonexistent', 'cassette.yml'))) + assert os.path.exists(str(tmpdir.join('nonexistent', 'cassette.yml.test'))) def test_load_cassette_with_custom_persister(tmpdir, httpbin): @@ -31,9 +46,9 @@ def test_load_cassette_with_custom_persister(tmpdir, httpbin): Ensure you can load a cassette using custom persister ''' my_vcr = vcr.VCR() - my_vcr.register_persister(FilesystemPersister) + my_vcr.register_persister(CustomFilesystemPersister) - test_fixture = str(tmpdir.join('synopsis.json')) + test_fixture = str(tmpdir.join('synopsis.json.test')) with my_vcr.use_cassette(test_fixture, serializer='json'): response = urlopen(httpbin.url).read() diff --git a/vcr/config.py b/vcr/config.py index 15ae459..cfc890d 100644 --- a/vcr/config.py +++ b/vcr/config.py @@ -145,6 +145,7 @@ class VCR(object): merged_config = { 'serializer': self._get_serializer(serializer_name), + 'persister': self.persister, 'match_on': self._get_matchers( tuple(matcher_names) + tuple(additional_matchers) ),