lib/parliament/utils/test_helpers/vcr_helper.rb in parliament-utils-0.2.1 vs lib/parliament/utils/test_helpers/vcr_helper.rb in parliament-utils-0.2.2
- old
+ new
@@ -3,10 +3,14 @@
module TestHelpers
module VCRHelper
require 'vcr'
def self.load_rspec_config(config)
+ # URIs that appear frequently
+ parliament_uri = 'http://localhost:3030'
+ bandiera_uri = 'http://localhost:5000'
+ opensearch_uri = 'https://apidataparliament.azure-api.net/search/description'
VCR.configure do |config|
config.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
config.hook_into :webmock
config.configure_rspec_metadata!
@@ -16,21 +20,23 @@
record: :once
}
# Create a simple matcher which will 'filter' any request URIs on the fly
config.register_request_matcher :filtered_uri do |request_1, request_2|
- parliament_match = request_1.uri.sub(ENV['PARLIAMENT_BASE_URL'], 'http://localhost:3030') == request_2.uri.sub(ENV['PARLIAMENT_BASE_URL'], 'http://localhost:3030')
- bandiera_match = request_1.uri.sub(ENV['BANDIERA_URL'], 'http://localhost:5000') == request_2.uri.sub(ENV['BANDIERA_URL'], 'http://localhost:5000')
+ parliament_match = request_1.uri.sub(ENV['PARLIAMENT_BASE_URL'], parliament_uri) == request_2.uri.sub(ENV['PARLIAMENT_BASE_URL'], parliament_uri)
+ bandiera_match = request_1.uri.sub(ENV['BANDIERA_URL'], bandiera_uri) == request_2.uri.sub(ENV['BANDIERA_URL'], bandiera_uri)
+ opensearch_match = request_1.uri.sub(ENV['OPENSEARCH_DESCRIPTION_URL'], opensearch_uri) == request_2.uri.sub(ENV['OPENSEARCH_DESCRIPTION_URL'], opensearch_uri)
- parliament_match || bandiera_match
+ parliament_match || bandiera_match || opensearch_match
end
config.default_cassette_options = { match_requests_on: [:method, :filtered_uri] }
# Dynamically filter our sensitive information
config.filter_sensitive_data('<AUTH_TOKEN>') { ENV['PARLIAMENT_AUTH_TOKEN'] }
- config.filter_sensitive_data('http://localhost:3030') { ENV['PARLIAMENT_BASE_URL'] }
- config.filter_sensitive_data('http://localhost:5000') { ENV['BANDIERA_URL'] }
+ config.filter_sensitive_data(parliament_uri) { ENV['PARLIAMENT_BASE_URL'] }
+ config.filter_sensitive_data(bandiera_uri) { ENV['BANDIERA_URL'] }
+ config.filter_sensitive_data(opensearch_uri) { ENV['OPENSEARCH_DESCRIPTION_URL'] }
# Dynamically filter n-triple data
config.before_record do |interaction|
should_ignore = ['_:node', '^^<http://www.w3.org/2001/XMLSchema#date>', '^^<http://www.w3.org/2001/XMLSchema#dateTime>', '^^<http://www.w3.org/2001/XMLSchema#integer>']