X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6350ddac78dbd2b29e5dc4117fd57300f7f8a098..0515919a3da565c7bf5087eca38f47bc4422c260:/services/api/test/test_helper.rb diff --git a/services/api/test/test_helper.rb b/services/api/test/test_helper.rb index ad5fb8e2a5..843d4f1b23 100644 --- a/services/api/test/test_helper.rb +++ b/services/api/test/test_helper.rb @@ -25,7 +25,6 @@ unless ENV["NO_COVERAGE_TEST"] SimpleCov.start do add_filter '/test/' add_filter 'initializers/secret_token' - add_filter 'initializers/omniauth' end rescue Exception => e $stderr.puts "SimpleCov unavailable (#{e}). Proceeding without." @@ -62,7 +61,7 @@ class ActiveSupport::TestCase include ArvadosTestSupport include CurrentApiClient - teardown do + setup do Thread.current[:api_client_ip_address] = nil Thread.current[:api_client_authorization] = nil Thread.current[:api_client_uuid] = nil @@ -72,6 +71,14 @@ class ActiveSupport::TestCase restore_configuration end + teardown do + # Confirm that any changed configuration doesn't include non-symbol keys + $arvados_config.keys.each do |conf_name| + conf = Rails.configuration.send(conf_name) + confirm_keys_as_symbols(conf, conf_name) if conf.respond_to?('keys') + end + end + def assert_equal(expect, *args) if expect.nil? assert_nil(*args) @@ -99,21 +106,15 @@ class ActiveSupport::TestCase end end - def confirm_keys_as_symbols(a_hash, section_name) - a_hash.keys.each do |k| - assert(k.is_a?(Symbol), "Key '#{k}' on section '#{section_name}' should be a Symbol") - confirm_keys_as_symbols(a_hash[k], "#{section_name}.#{k}") if a_hash[k].is_a?(Hash) + def confirm_keys_as_symbols(conf, conf_name) + assert(conf.is_a?(ActiveSupport::OrderedOptions), "#{conf_name} should be an OrderedOptions object") + conf.keys.each do |k| + assert(k.is_a?(Symbol), "Key '#{k}' on section '#{conf_name}' should be a Symbol") + confirm_keys_as_symbols(conf[k], "#{conf_name}.#{k}") if conf[k].respond_to?('keys') end end def restore_configuration - # Confirm that any changed configuration doesn't include non-symbol keys - $arvados_config.keys.each do |config_section_name| - config_section = Rails.configuration.send("#{config_section_name}") - if config_section.is_a?(Hash) - confirm_keys_as_symbols(config_section, config_section_name) - end - end # Restore configuration settings changed during tests ConfigLoader.copy_into_config $arvados_config, Rails.configuration ConfigLoader.copy_into_config $remaining_config, Rails.configuration @@ -121,6 +122,7 @@ class ActiveSupport::TestCase def set_user_from_auth(auth_name) client_auth = api_client_authorizations(auth_name) + client_auth.user.forget_cached_group_perms Thread.current[:api_client_authorization] = client_auth Thread.current[:api_client] = client_auth.api_client Thread.current[:user] = client_auth.user