4523: Clear up manifest-signing vs. locator-signing.
[arvados.git] / services / api / test / test_helper.rb
index dfebd92c45e102c58a4e4cfa3728ad46fa054f8e..216dd2d02d9ebaf3ab7b9fcd4345ad05bd374c9f 100644 (file)
@@ -49,6 +49,16 @@ class ActiveSupport::TestCase
     Thread.current[:api_client_uuid] = nil
     Thread.current[:api_client] = nil
     Thread.current[:user] = nil
+    restore_configuration
+  end
+
+  def restore_configuration
+    # Restore configuration settings changed during tests
+    $application_config.each do |k,v|
+      if k.match /^[^.]*$/
+        Rails.configuration.send (k + '='), v
+      end
+    end
   end
 
   def set_user_from_auth(auth_name)
@@ -74,6 +84,26 @@ class ActiveSupport::TestCase
   end
 end
 
+class ActionController::TestCase
+  setup do
+    @counter = 0
+  end
+
+  def check_counter action
+    @counter += 1
+    if @counter == 2
+      assert_equal 1, 2, "Multiple actions in functional test"
+    end
+  end
+
+  [:get, :post, :put, :patch, :delete].each do |method|
+    define_method method do |action, *args|
+      check_counter action
+      super action, *args
+    end
+  end
+end
+
 class ActionDispatch::IntegrationTest
   teardown do
     Thread.current[:api_client_ip_address] = nil