2934: add launch_crunch_dispatch to integration test
authorTim Pierce <twp@curoverse.com>
Fri, 13 Jun 2014 14:44:21 +0000 (10:44 -0400)
committerTim Pierce <twp@curoverse.com>
Fri, 13 Jun 2014 14:44:21 +0000 (10:44 -0400)
Added functionality for launching crunch-dispatch in
crunch_dispatch_test.rb while integration tests are running.

Refs #2934.

services/api/test/integration/crunch_dispatch_test.rb

index e968cf14021d823235eb7ca2c30b5fa182b79348..4abdcce03bdf8254f3e6a33db9bfb6c1d5a67942 100644 (file)
@@ -1,27 +1,38 @@
-require 'pp'
 require 'test_helper'
 load 'test/functional/arvados/v1/git_setup.rb'
 
 class CrunchDispatchTest < ActionDispatch::IntegrationTest
-  include CurrentApiClient
   include GitSetup
 
   fixtures :all
 
+  @@crunch_dispatch_pid = nil
+
+  def launch_crunch_dispatch
+    @@crunch_dispatch_pid = Process.fork {
+      ENV['PATH'] = ENV['HOME'] + '/arvados/services/crunch:' + ENV['PATH']
+      exec(ENV['HOME'] + '/arvados/services/api/script/crunch-dispatch.rb')
+    }
+  end
+
+  teardown do
+    if @@crunch_dispatch_pid
+      Process.kill "TERM", @@crunch_dispatch_pid
+      Process.wait
+      @@crunch_dispatch_pid = nil
+    end
+  end
+
   test "job runs" do
-    authorize_with :admin
-    set_user_from_auth :admin
     post "/arvados/v1/jobs", {
       format: "json",
       job: {
         script: "log",
         repository: "bar",
         script_version: "143fec09e988160673c63457fa12a0f70b5b8a26",
-        script_parameters: {}
+        script_parameters: "{}"
       }
-    }, {HTTP_AUTHORIZATION: "OAuth2 #{current_api_client_authorization}"}
-    p "response: #{@response.body}"
+    }, auth(:admin)
     assert_response :success
-    resp = JSON.parse(@response.body)
   end
 end