Merge branch '21535-multi-wf-delete'
[arvados.git] / services / api / test / integration / container_auth_test.rb
index bec8b5784a09ae77d450f62b87bc1ebdc40d24e2..2a1ebabc0a9a52be5f0b8b97b411a448347b11f4 100644 (file)
@@ -7,62 +7,60 @@ require 'test_helper'
 class ContainerAuthTest < ActionDispatch::IntegrationTest
   fixtures :all
 
-  test "container token validate, Queued" do
-    get "/arvados/v1/containers/current", {
-      :format => :json
-        }, {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:container_runtime_token).token}/#{containers(:runtime_token).uuid}"}
-    # Container is Queued, token cannot be used
-    assert_response 401
-  end
-
   test "container token validate, Running, regular auth" do
-    get "/arvados/v1/containers/current", {
-      :format => :json
-        }, {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:running_container_auth).token}/#{containers(:running).uuid}"}
+    get "/arvados/v1/containers/current",
+      params: {:format => :json},
+      headers: {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:running_container_auth).token}/#{containers(:running).uuid}"}
     # Container is Running, token can be used
     assert_response :success
     assert_equal containers(:running).uuid, json_response['uuid']
   end
 
   test "container token validate, Locked, runtime_token" do
-    post "/arvados/v1/containers/#{containers(:runtime_token).uuid}/lock", {
-      :format => :json
-    }, {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:dispatch1).token}"}
-    get "/arvados/v1/containers/current", {
-      :format => :json
-        }, {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:container_runtime_token).token}/#{containers(:runtime_token).uuid}"}
+    get "/arvados/v1/containers/current",
+      params: {:format => :json},
+      headers: {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:container_runtime_token).token}/#{containers(:runtime_token).uuid}"}
     # Container is Running, token can be used
     assert_response :success
     assert_equal containers(:runtime_token).uuid, json_response['uuid']
   end
 
+  test "container token validate, Cancelled, runtime_token" do
+    put "/arvados/v1/containers/#{containers(:runtime_token).uuid}",
+      params: {
+        :format => :json,
+        :container => {:state => "Cancelled"}
+      },
+      headers: {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:dispatch1).token}"}
+    assert_response :success
+    get "/arvados/v1/containers/current",
+      params: {:format => :json},
+      headers: {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:container_runtime_token).token}/#{containers(:runtime_token).uuid}"}
+    # Container is Queued, token cannot be used
+    assert_response 401
+  end
+
   test "container token validate, Running, without optional portion" do
-    get "/arvados/v1/containers/current", {
-      :format => :json
-        }, {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:running_container_auth).token}"}
+    get "/arvados/v1/containers/current",
+      params: {:format => :json},
+      headers: {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:running_container_auth).token}"}
     # Container is Running, token can be used
     assert_response :success
     assert_equal containers(:running).uuid, json_response['uuid']
   end
 
   test "container token validate, Locked, runtime_token, without optional portion" do
-    post "/arvados/v1/containers/#{containers(:runtime_token).uuid}/lock", {
-      :format => :json
-    }, {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:dispatch1).token}"}
-    get "/arvados/v1/containers/current", {
-      :format => :json
-        }, {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:container_runtime_token).token}"}
+    get "/arvados/v1/containers/current",
+      params: {:format => :json},
+      headers: {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:container_runtime_token).token}"}
     # runtime_token without container uuid won't return 'current'
     assert_response 404
   end
 
   test "container token validate, wrong container uuid" do
-    post "/arvados/v1/containers/#{containers(:runtime_token).uuid}/lock", {
-      :format => :json
-    }, {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:dispatch1).token}"}
-    get "/arvados/v1/containers/current", {
-      :format => :json
-        }, {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:container_runtime_token).token}/#{containers(:running).uuid}"}
+    get "/arvados/v1/containers/current",
+      params: {:format => :json},
+      headers: {'HTTP_AUTHORIZATION' => "Bearer #{api_client_authorizations(:container_runtime_token).token}/#{containers(:running).uuid}"}
     # Container uuid mismatch, token can't be used
     assert_response 401
   end