X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/fd57cb09ccf75c49653f8fb66fe6f4c1da49b687..b9e5c8b32858338850da3e12ce27570b828898b3:/services/api/test/test_helper.rb diff --git a/services/api/test/test_helper.rb b/services/api/test/test_helper.rb index 197ae24547..86bc2397c5 100644 --- a/services/api/test/test_helper.rb +++ b/services/api/test/test_helper.rb @@ -22,11 +22,11 @@ end require File.expand_path('../../config/environment', __FILE__) require 'rails/test_help' -require 'mocha/mini_test' +require 'mocha' module ArvadosTestSupport def json_response - Oj.load response.body + Oj.strict_load response.body end def api_token(api_client_auth_name) @@ -36,6 +36,10 @@ module ArvadosTestSupport def auth(api_client_auth_name) {'HTTP_AUTHORIZATION' => "OAuth2 #{api_token(api_client_auth_name)}"} end + + def show_errors model + return lambda { model.errors.full_messages.inspect } + end end class ActiveSupport::TestCase @@ -43,6 +47,7 @@ class ActiveSupport::TestCase fixtures :all include ArvadosTestSupport + include CurrentApiClient setup do Rails.logger.warn "\n\n#{'=' * 70}\n#{self.class}\##{method_name}\n#{'-' * 70}\n\n" @@ -79,7 +84,7 @@ class ActiveSupport::TestCase def restore_configuration # Restore configuration settings changed during tests $application_config.each do |k,v| - if k.match /^[^.]*$/ + if k.match(/^[^.]*$/) Rails.configuration.send (k + '='), v end end @@ -106,6 +111,19 @@ class ActiveSupport::TestCase ArvadosApiToken.new.call("rack.input" => "", "HTTP_AUTHORIZATION" => "OAuth2 #{t}") end + + def self.skip_slow_tests? + !(ENV['RAILS_TEST_SHORT'] || '').empty? + end + + def self.skip(*args, &block) + end + + def self.slow_test(name, &block) + define_method(name, block) unless skip_slow_tests? + end + + alias_method :skip, :omit end class ActionController::TestCase @@ -126,6 +144,21 @@ class ActionController::TestCase super action, *args end end + + def self.suite + s = super + def s.run(*args) + @test_case.startup() + begin + super + ensure + @test_case.shutdown() + end + end + s + end + def self.startup; end + def self.shutdown; end end class ActionDispatch::IntegrationTest