X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9277fdba1f3df9468b4d4e2a8f150bca635e48fb..adedc9a3791fbed1d08da4d8681f1d0e0b36e024:/services/api/test/integration/container_auth_test.rb diff --git a/services/api/test/integration/container_auth_test.rb b/services/api/test/integration/container_auth_test.rb index bec8b5784a..2a1ebabc0a 100644 --- a/services/api/test/integration/container_auth_test.rb +++ b/services/api/test/integration/container_auth_test.rb @@ -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