From 69cd2d0017960061c87d89d9ae02bc69e7533417 Mon Sep 17 00:00:00 2001 From: Joe Rafaniello Date: Tue, 10 Dec 2024 15:57:05 -0500 Subject: [PATCH] Extract methods for constants and ensure loads of secrets happen once --- spec/shared/cassette_secrets_helper.rb | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/spec/shared/cassette_secrets_helper.rb b/spec/shared/cassette_secrets_helper.rb index 24e81cfa27f..a7bf76eb488 100644 --- a/spec/shared/cassette_secrets_helper.rb +++ b/spec/shared/cassette_secrets_helper.rb @@ -1,8 +1,15 @@ module Spec module Shared module CassetteSecretsHelper - DEFAULT_VCR_SECRETS_PATH = Pathname.new(Dir.pwd).join("config/secrets.defaults.yml") - VCR_SECRETS_PATH = Pathname.new(Dir.pwd).join("config/secrets.yml") + def default_vcr_secrets_path + Pathname.new(Dir.pwd).join("config/secrets.defaults.yml").tap do |path| + raise "Default vcr cassette secrets not found: #{path}! Create this file with placeholder secrets to be used in cassettes to avoid leaking actual secrets." unless path.exist? + end + end + + def vcr_secrets_path + Pathname.new(Dir.pwd).join("config/secrets.yml") + end def load_vcr_secrets(pathname) if pathname.exist? @@ -13,11 +20,11 @@ def load_vcr_secrets(pathname) end def default_vcr_secrets - @default_vcr_secrets ||= load_vcr_secrets(DEFAULT_VCR_SECRETS_PATH) + @@default_vcr_secrets ||= load_vcr_secrets(default_vcr_secrets_path) end def vcr_secrets - @vcr_secrets ||= load_vcr_secrets(VCR_SECRETS_PATH) + @@vcr_secrets ||= load_vcr_secrets(vcr_secrets_path) end def default_vcr_secret_by_key_path(*args)