X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6fe8e52020d421797306e5c6536afbcee761510a..dd3172b922a00ffc1530188a7988356f376a067f:/services/api/test/integration/remote_user_test.rb diff --git a/services/api/test/integration/remote_user_test.rb b/services/api/test/integration/remote_user_test.rb index c38c230b22..0e61db7bcd 100644 --- a/services/api/test/integration/remote_user_test.rb +++ b/services/api/test/integration/remote_user_test.rb @@ -251,4 +251,37 @@ class RemoteUsersTest < ActionDispatch::IntegrationTest assert_equal 'barney', json_response['username'] end + test "validate unsalted v2 token for remote cluster zbbbb" do + auth = api_client_authorizations(:active) + token = "v2/#{auth.uuid}/#{auth.api_token}" + get '/arvados/v1/users/current', {format: 'json', remote: 'zbbbb'}, { + "HTTP_AUTHORIZATION" => "Bearer #{token}" + } + assert_response :success + assert_equal(users(:active).uuid, json_response['uuid']) + end + + test 'container request with runtime_token' do + [["valid local", "v2/#{api_client_authorizations(:active).uuid}/#{api_client_authorizations(:active).api_token}"], + ["valid remote", "v2/zbbbb-gj3su-000000000000000/abc"], + ["invalid local", "v2/#{api_client_authorizations(:active).uuid}/fakefakefake"], + ["invalid remote", "v2/zbork-gj3su-000000000000000/abc"], + ].each do |label, runtime_token| + post '/arvados/v1/container_requests', { + "container_request" => { + "command" => ["echo"], + "container_image" => "xyz", + "output_path" => "/", + "cwd" => "/", + "runtime_token" => runtime_token + } + }, {"HTTP_AUTHORIZATION" => "Bearer #{api_client_authorizations(:active).api_token}"} + if label.include? "invalid" + assert_response 422 + else + assert_response :success + end + end + end + end