X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/528e6554fbff9984bce411bdfeefc27ef15c62c8..c3b26754a231ec909506f2ff28af1af9f2e27f2b:/services/api/test/integration/remote_user_test.rb?ds=sidebyside diff --git a/services/api/test/integration/remote_user_test.rb b/services/api/test/integration/remote_user_test.rb index c812348a2e..44737524e5 100644 --- a/services/api/test/integration/remote_user_test.rb +++ b/services/api/test/integration/remote_user_test.rb @@ -63,8 +63,8 @@ class RemoteUsersTest < ActionDispatch::IntegrationTest ready.pop @remote_server = srv @remote_host = "127.0.0.1:#{srv.config[:Port]}" - Rails.configuration.remote_hosts['zbbbb'] = @remote_host - Rails.configuration.remote_hosts['zbork'] = @remote_host + Rails.configuration.remote_hosts = Rails.configuration.remote_hosts.merge({'zbbbb' => @remote_host, + 'zbork' => @remote_host}) Arvados::V1::SchemaController.any_instance.stubs(:root_url).returns "https://#{@remote_host}" @stub_status = 200 @stub_content = { @@ -251,23 +251,37 @@ class RemoteUsersTest < ActionDispatch::IntegrationTest assert_equal 'barney', json_response['username'] end - test "validate unsalted token for remote cluster zbbbb" do + 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 200 + assert_response :success assert_equal(users(:active).uuid, json_response['uuid']) end - - # test 'container request with remote runtime_token' do - # auth = api_client_authorizations(:active) - # token = "v2/#{auth.uuid.sub('zzzzz-', 'zbbbb-')}/#{auth.api_token}" - - # post '/arvados/v1/container_requests', {"container_request": {}}, {"HTTP_AUTHORIZATION" => "Bearer #{token}"} - # assert_response :success - # 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