test/test_helper.rb in exlibris-primo-0.1.1 vs test/test_helper.rb in exlibris-primo-0.1.4

- old
+ new

@@ -1,10 +1,36 @@ -# Configure Rails Environment -ENV["RAILS_ENV"] = "test" +require 'test/unit' +require File.expand_path("../../lib/exlibris-primo.rb", __FILE__) -require File.expand_path("../dummy/config/environment.rb", __FILE__) -require "rails/test_help" +# 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' -Rails.backtrace_cleaner.remove_silencers! +# 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) -# Load support files -Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f } +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 +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 +