From b0b0a029ba9a12d5f5b19a2bf7cf28de3deefc9c Mon Sep 17 00:00:00 2001 From: Alex Piechowski Date: Thu, 24 Feb 2022 14:36:16 -0600 Subject: [PATCH 1/2] Fix multi-casette test runs When test runs use multiple casettes, the directory was cached We should be able to just calculate this live and be just fine --- spec/vcr_spec.cr | 8 ++++++++ src/vcr.cr | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/spec/vcr_spec.cr b/spec/vcr_spec.cr index 54b53ce..df6dbe3 100644 --- a/spec/vcr_spec.cr +++ b/spec/vcr_spec.cr @@ -13,6 +13,14 @@ describe VCR do end end + it "switches cassette_dir when new cassette is loaded" do + load_cassette("cassette-one") do + end + load_cassette("cassette-two") do + VCR.cassette_dir.should eq "spec/fixtures/vcr/cassette-two" + end + end + describe "#filter_sensitive_data!" do headers = HTTP::Headers.new headers["Authorization"] = "Bearer 123" diff --git a/src/vcr.cr b/src/vcr.cr index c79feb3..1a7854e 100644 --- a/src/vcr.cr +++ b/src/vcr.cr @@ -8,7 +8,6 @@ module VCR @@in_order = false @@sequence = 0 - @@cassette_dir : String? = nil Habitat.create do setting cassette_library_dir : String = "spec/fixtures/vcr" @@ -21,7 +20,7 @@ module VCR end def cassette_dir - @@cassette_dir ||= File.join(VCR.settings.cassette_library_dir, cassette_name.not_nil!) + File.join(VCR.settings.cassette_library_dir, cassette_name.not_nil!) end # The current sequence, calling this will increment the value From 191d0de50c5cb32bcdd78fd4b8866e8b84d31868 Mon Sep 17 00:00:00 2001 From: Holden Omans Date: Fri, 25 Feb 2022 16:16:26 -0500 Subject: [PATCH 2/2] Update vcr_spec.cr test loading cassette without block --- spec/vcr_spec.cr | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/vcr_spec.cr b/spec/vcr_spec.cr index df6dbe3..73eb064 100644 --- a/spec/vcr_spec.cr +++ b/spec/vcr_spec.cr @@ -15,10 +15,15 @@ describe VCR do it "switches cassette_dir when new cassette is loaded" do load_cassette("cassette-one") do + VCR.cassette_dir.should eq "spec/fixtures/vcr/cassette-one" end + load_cassette("cassette-two") do VCR.cassette_dir.should eq "spec/fixtures/vcr/cassette-two" end + + load_cassette("cassette-three") + VCR.cassette_dir.should eq "spec/fixtures/vcr/cassette-three" end describe "#filter_sensitive_data!" do