Merge branch '18862-replay-job-log-task'
[arvados.git] / services / api / app / controllers / database_controller.rb
index fa1e1ca43c64dc0b98a0587e703f0a075e890dae..8e61d16fa8686d9ffb2373efae8bc6a502696b3c 100644 (file)
@@ -18,14 +18,14 @@ class DatabaseController < ApplicationController
     user_uuids = User.
       where('email is null or (email not like ? and email not like ?)', '%@example.com', '%.example.com').
       collect(&:uuid)
-    fixture_uuids =
-      YAML::load_file(File.expand_path('../../../test/fixtures/users.yml',
-                                       __FILE__)).
-      values.collect { |u| u['uuid'] }
+    fnm = File.expand_path('../../../test/fixtures/users.yml', __FILE__)
+    fixture_uuids = File.open(fnm) do |f|
+      YAML.safe_load(f, filename: fnm, permitted_classes: [Time]).values.collect { |u| u['uuid'] }
+    end
     unexpected_uuids = user_uuids - fixture_uuids
     if unexpected_uuids.any?
       logger.error("Running in test environment, but non-fixture users exist: " +
-                   "#{unexpected_uuids}")
+                   "#{unexpected_uuids}" + "\nMaybe test users without @example.com email addresses were created?")
       raise ArvadosModel::PermissionDeniedError
     end
 
@@ -61,7 +61,7 @@ class DatabaseController < ApplicationController
         ActiveRecord::FixtureSet.
           create_fixtures(Rails.root.join('test', 'fixtures'), fixturesets)
 
-        # Dump cache of permissions etc.
+        # Reset cache and global state
         Rails.cache.clear
         ActiveRecord::Base.connection.clear_query_cache