17417: Merge branch 'main' into 17417-add-arm64
[arvados.git] / services / api / test / integration / login_workflow_test.rb
index e0d6968a4a204220214fd6b9ed19d5fcaaf0f9b9..ba3b2ac6e3198bbc0ad1eee986b71a2eb80db444 100644 (file)
@@ -1,25 +1,36 @@
+# 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'],
+    assert_match(%r{http://www.example.com/login$}, @response.headers['Location'],
                  "HTML login prompt did not include expected redirect")
   end
 end