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
+