X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/da67c81ff6cc5fd540c0725de1c8208c2d8933be..1a599ec69ad8d533da1f12ad5d2c5789aa1c14e2:/services/api/test/integration/login_workflow_test.rb diff --git a/services/api/test/integration/login_workflow_test.rb b/services/api/test/integration/login_workflow_test.rb index e0d6968a4a..f0741fcfde 100644 --- a/services/api/test/integration/login_workflow_test.rb +++ b/services/api/test/integration/login_workflow_test.rb @@ -1,23 +1,34 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' class LoginWorkflowTest < ActionDispatch::IntegrationTest test "default prompt to login is JSON" do - post('/arvados/v1/specimens', {specimen: {}}, - {'HTTP_ACCEPT' => ''}) + post('/arvados/v1/specimens', + params: {specimen: {}}, + headers: {'HTTP_ACCEPT' => ''}) assert_response 401 - assert_includes(json_response['errors'], "Not logged in") + json_response['errors'].each do |err| + assert(err.include?("Not logged in"), "error message '#{err}' expected to include 'Not logged in'") + end end test "login prompt respects JSON Accept header" do - post('/arvados/v1/specimens', {specimen: {}}, - {'HTTP_ACCEPT' => 'application/json'}) + post('/arvados/v1/specimens', + params: {specimen: {}}, + headers: {'HTTP_ACCEPT' => 'application/json'}) assert_response 401 - assert_includes(json_response['errors'], "Not logged in") + json_response['errors'].each do |err| + assert(err.include?("Not logged in"), "error message '#{err}' expected to include 'Not logged in'") + end end test "login prompt respects HTML Accept header" do - post('/arvados/v1/specimens', {specimen: {}}, - {'HTTP_ACCEPT' => 'text/html'}) + post('/arvados/v1/specimens', + params: {specimen: {}}, + headers: {'HTTP_ACCEPT' => 'text/html'}) assert_response 302 assert_match(%r{/auth/joshid$}, @response.headers['Location'], "HTML login prompt did not include expected redirect")