test/test_helper.rb in exlibris-aleph-0.1.2 vs test/test_helper.rb in exlibris-aleph-0.1.3

- old
+ new

@@ -4,7 +4,39 @@ require File.expand_path("../dummy/config/environment.rb", __FILE__) require "rails/test_help" Rails.backtrace_cleaner.remove_silencers! -# Load support files -Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f } +# VCR is used to 'record' HTTP interactions with +# third party services used in tests, and play em +# back. Useful for efficiency, also useful for +# testing code against API's that not everyone +# has access to -- the responses can be cached +# and re-used. +require 'vcr' +require 'webmock' + +# To allow us to do real HTTP requests in a VCR.turned_off, we +# have to tell webmock to let us. +WebMock.allow_net_connect!(:net_http_connect_on_start => true) + +without_ctx_tim = VCR.request_matchers.uri_without_param(:ctx_tim) +VCR.configure do |c| + c.cassette_library_dir = 'test/vcr_cassettes' + # webmock needed for HTTPClient testing + c.hook_into :webmock + c.register_request_matcher(:uri_without_ctx_tim, &without_ctx_tim) + # c.debug_logger = $stderr + c.filter_sensitive_data('VERIFICATION') { 'd4465aacaa645f2164908cd4184c09f0' } +end + +# Silly way to not have to rewrite all our tests if we +# temporarily disable VCR, make VCR.use_cassette a no-op +# instead of no-such-method. +if ! defined? VCR + module VCR + def self.use_cassette(*args) + yield + end + end +end +