Merge branch '3687-grant-permission-on-repo-TC' closes #3687
[arvados.git] / services / api / test / integration / login_workflow_test.rb
1 require 'test_helper'
2
3 class LoginWorkflowTest < ActionDispatch::IntegrationTest
4   test "default prompt to login is JSON" do
5     post('/arvados/v1/specimens', {specimen: {}},
6          {'HTTP_ACCEPT' => ''})
7     assert_response 401
8     assert_includes(json_response['errors'], "Not logged in")
9   end
10
11   test "login prompt respects JSON Accept header" do
12     post('/arvados/v1/specimens', {specimen: {}},
13          {'HTTP_ACCEPT' => 'application/json'})
14     assert_response 401
15     assert_includes(json_response['errors'], "Not logged in")
16   end
17
18   test "login prompt respects HTML Accept header" do
19     post('/arvados/v1/specimens', {specimen: {}},
20          {'HTTP_ACCEPT' => 'text/html'})
21     assert_response 302
22     assert_match(%r{/auth/joshid$}, @response.headers['Location'],
23                  "HTML login prompt did not include expected redirect")
24   end
25 end