18339: Merge branch 'main'
[arvados.git] / services / api / test / integration / login_workflow_test.rb
index 85b4cb746e6ddb12f459f0458761c371b1b75625..ba3b2ac6e3198bbc0ad1eee986b71a2eb80db444 100644 (file)
@@ -6,24 +6,31 @@ 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'],
+    assert_match(%r{http://www.example.com/login$}, @response.headers['Location'],
                  "HTML login prompt did not include expected redirect")
   end
 end