X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c6b14938cfb90145dfcf9a8e5ea7264d63ac8035..59807e4ab334f7aec9772bf63f186974fba96821:/apps/workbench/test/test_helper.rb?ds=sidebyside diff --git a/apps/workbench/test/test_helper.rb b/apps/workbench/test/test_helper.rb index 5253676578..1a07e43be1 100644 --- a/apps/workbench/test/test_helper.rb +++ b/apps/workbench/test/test_helper.rb @@ -38,7 +38,10 @@ class ActiveSupport::TestCase teardown do Thread.current[:arvados_api_token] = nil + Thread.current[:user] = nil Thread.current[:reader_tokens] = nil + # Diagnostics suite doesn't run a server, so there's no cache to clear. + Rails.cache.clear unless (Rails.env == "diagnostics") # Restore configuration settings changed during tests $application_config.each do |k,v| if k.match /^[^.]*$/ @@ -55,7 +58,7 @@ module ApiFixtureLoader module ClassMethods @@api_fixtures = {} - def api_fixture(name) + def api_fixture(name, *keys) # Returns the data structure from the named API server test fixture. @@api_fixtures[name] ||= \ begin @@ -63,10 +66,16 @@ module ApiFixtureLoader 'test', 'fixtures', "#{name}.yml") YAML.load(IO.read(path)) end + keys.inject(@@api_fixtures[name]) { |hash, key| hash[key] } end end - def api_fixture name - self.class.api_fixture name + def api_fixture(name, *keys) + self.class.api_fixture(name, *keys) + end + + def find_fixture(object_class, name) + object_class.find(api_fixture(object_class.to_s.pluralize.underscore, + name, "uuid")) end end