4232: remove "dependencies" entries from examples in the tutorials if the API is...
[arvados.git] / services / api / test / test_helper.rb
index 23bd90109278fb347716cd2d27ea8cb9771ffe04..5ea6e62bfa73381e0f7e95b79aba31be7143ee08 100644 (file)
@@ -25,7 +25,7 @@ require 'rails/test_help'
 
 module ArvadosTestSupport
   def json_response
-    ActiveSupport::JSON.decode @response.body
+    Oj.load response.body
   end
 
   def api_token(api_client_auth_name)
@@ -49,6 +49,10 @@ 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 /^[^.]*$/
@@ -81,45 +85,22 @@ class ActiveSupport::TestCase
 end
 
 class ActionController::TestCase
-  def reset_counter
-    $counter = 0
+  setup do
+    @counter = 0
   end
 
   def check_counter action
-    $counter += 1
-    if $counter > 1
-      raise "Too many actions on a single instance of ActionController::TestCase #{action}"
+    @counter += 1
+    if @counter == 2
+      assert_equal 1, 2, "Multiple actions in functional test"
     end
   end
 
-  alias original_run_callbacks run_callbacks
-  def run_callbacks(kind, &block)
-    reset_counter
-    original_run_callbacks(kind, &block)
-  end
-
-  alias original_get get
-  def get(action, *args)
-    check_counter action
-    original_get(action, *args)
-  end
-
-  alias original_post post
-  def post(action, *args)
-    check_counter action
-    original_post(action, *args)
-  end
-
-  alias original_put put
-  def put(action, *args)
-    check_counter action
-    original_put(action, *args)
-  end
-
-  alias original_delete delete
-  def delete(action, *args)
-    check_counter action
-    original_delete(action, *args)
+  [:get, :post, :put, :patch, :delete].each do |method|
+    define_method method do |action, *args|
+      check_counter action
+      super action, *args
+    end
   end
 end