Merge branch 'master' into 3686-sharing-repositories
[arvados.git] / apps / workbench / test / test_helper.rb
index 1e7b8eb245a9925d2d5137f03c62fd408ea3ae5d..7c454c9877b2bbb4c97c417cf5406cf433924ca3 100644 (file)
@@ -160,8 +160,10 @@ class ApiServerForTests
                 '--pid-file', @pidfile)
       else
         make_ssl_cert
-        _system('bundle', 'exec', 'rake', 'db:test:load')
-        _system('bundle', 'exec', 'rake', 'db:fixtures:load')
+        if ENV['ARVADOS_TEST_API_INSTALLED'].blank?
+          _system('bundle', 'exec', 'rake', 'db:test:load')
+          _system('bundle', 'exec', 'rake', 'db:fixtures:load')
+        end
         _system('bundle', 'exec', 'passenger', 'start', '-d', '-p3000',
                 '--pid-file', @pidfile,
                 '--ssl',
@@ -267,6 +269,10 @@ class ActiveSupport::TestCase
 
   protected
   def self.reset_api_fixtures_now
+    # Never try to reset fixtures when we're just using test
+    # infrastructure to run performance/diagnostics suites.
+    return unless Rails.env == 'test'
+
     auth = api_fixture('api_client_authorizations')['admin_trustedclient']
     Thread.current[:arvados_api_token] = auth['api_token']
     ArvadosApiClient.new.api(nil, '../../database/reset', {})
@@ -307,3 +313,6 @@ if ENV["RAILS_ENV"].eql? 'test'
   ApiServerForTests.new.run
   ApiServerForTests.new.run ["--websockets"]
 end
+
+# Reset fixtures now (i.e., before any tests run).
+ActiveSupport::TestCase.reset_api_fixtures_now