From 5fc33c7e70c48f7d872577634a74cc5d5e2a0c61 Mon Sep 17 00:00:00 2001 From: Chase Sterling Date: Fri, 15 May 2015 19:06:05 -0400 Subject: [PATCH 1/2] Add tests for explicitly specifying a path when library dir is defined --- tests/unit/test_vcr.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/unit/test_vcr.py b/tests/unit/test_vcr.py index d6a88fc..d58d96c 100644 --- a/tests/unit/test_vcr.py +++ b/tests/unit/test_vcr.py @@ -147,6 +147,24 @@ def test_cassette_library_dir_with_decoration_and_no_explicit_path(): function_name() +def test_cassette_library_dir_with_decoration_and_explicit_path(): + library_dir = '/libary_dir' + vcr = VCR(inject_cassette=True, cassette_library_dir=library_dir) + @vcr.use_cassette(path='custom_name') + def function_name(cassette): + assert cassette._path == os.path.join(library_dir, 'custom_name') + function_name() + + +def test_cassette_library_dir_with_decoration_and_super_explicit_path(): + library_dir = '/libary_dir' + vcr = VCR(inject_cassette=True, cassette_library_dir=library_dir) + @vcr.use_cassette(path=os.path.join(library_dir, 'custom_name')) + def function_name(cassette): + assert cassette._path == os.path.join(library_dir, 'custom_name') + function_name() + + def test_cassette_library_dir_with_path_transformer(): library_dir = '/libary_dir' vcr = VCR(inject_cassette=True, cassette_library_dir=library_dir, From 32c687522ddf186eafe24447766d0b78c4a38ca7 Mon Sep 17 00:00:00 2001 From: Chase Sterling Date: Fri, 15 May 2015 19:07:18 -0400 Subject: [PATCH 2/2] Fix bug when specifying cassette path containing cassette_library_dir --- vcr/config.py | 1 + 1 file changed, 1 insertion(+) diff --git a/vcr/config.py b/vcr/config.py index 6a5de5b..fb03136 100644 --- a/vcr/config.py +++ b/vcr/config.py @@ -120,6 +120,7 @@ class VCR(object): def add_cassette_library_dir(path): if not path.startswith(cassette_library_dir): return os.path.join(cassette_library_dir, path) + return path path_transformer = compose(add_cassette_library_dir, path_transformer) elif not func_path_generator: # If we don't have a library dir, use the functions