closes #11840
[arvados.git] / services / api / test / integration / jobs_api_test.rb
index 1c4e294411cb54cb6b8169056de2a59bc04c7432..bf86b7d81ba2c0ba54e35c7d7cb504e6927e73a6 100644 (file)
@@ -6,12 +6,12 @@ class JobsApiTest < ActionDispatch::IntegrationTest
   test "cancel job" do
     post "/arvados/v1/jobs/#{jobs(:running).uuid}/cancel", {:format => :json}, {'HTTP_AUTHORIZATION' => "OAuth2 #{api_client_authorizations(:active).api_token}"}
     assert_response :success
-    assert_equal "arvados#job", jresponse['kind']
-    assert_not_nil jresponse['cancelled_at']
+    assert_equal "arvados#job", json_response['kind']
+    assert_not_nil json_response['cancelled_at']
   end
 
   test "cancel someone else's visible job" do
-    post "/arvados/v1/jobs/#{jobs(:barbaz).uuid}/cancel", {:format => :json}, {'HTTP_AUTHORIZATION' => "OAuth2 #{api_client_authorizations(:spectator).api_token}"}
+    post "/arvados/v1/jobs/#{jobs(:runningbarbaz).uuid}/cancel", {:format => :json}, {'HTTP_AUTHORIZATION' => "OAuth2 #{api_client_authorizations(:spectator).api_token}"}
     assert_response 403
   end
 
@@ -20,4 +20,23 @@ class JobsApiTest < ActionDispatch::IntegrationTest
     assert_response 404
   end
 
+  test "task qsequence values automatically increase monotonically" do
+    post_args = ["/arvados/v1/job_tasks",
+                 {job_task: {
+                     job_uuid: jobs(:running).uuid,
+                     sequence: 1,
+                   }},
+                 auth(:active)]
+    last_qsequence = -1
+    (1..3).each do |task_num|
+      @response = nil
+      post(*post_args)
+      assert_response :success
+      qsequence = json_response["qsequence"]
+      assert_not_nil(qsequence, "task not assigned qsequence")
+      assert_operator(qsequence, :>, last_qsequence,
+                      "qsequence did not increase between tasks")
+      last_qsequence = qsequence
+    end
+  end
 end