Fix 2.4.2 upgrade notes formatting refs #19330
[arvados.git] / apps / workbench / test / controllers / users_controller_test.rb
index ce9282ff77d1e69450c864d8a09f70ec2d8637e7..742fe6b13e1c3ed5b0a4a7ff7e720bc8f6874565 100644 (file)
@@ -7,43 +7,51 @@ require 'test_helper'
 class UsersControllerTest < ActionController::TestCase
 
   test "valid token works in controller test" do
-    get :index, {}, session_for(:active)
+    get :index, params: {}, session: session_for(:active)
     assert_response :success
   end
 
   test "ignore previously valid token (for deleted user), don't crash" do
-    get :activity, {}, session_for(:valid_token_deleted_user)
+    get :activity, params: {}, session: session_for(:valid_token_deleted_user)
     assert_response :redirect
-    assert_match /^#{Rails.configuration.arvados_login_base}/, @response.redirect_url
+    assert_match /^#{Rails.configuration.Services.Controller.ExternalURL}\/login/, @response.redirect_url
     assert_nil assigns(:my_jobs)
     assert_nil assigns(:my_ssh_keys)
   end
 
   test "expired token redirects to api server login" do
-    get :show, {
+    get :show, params: {
       id: api_fixture('users')['active']['uuid']
-    }, session_for(:expired_trustedclient)
+    }, session: session_for(:expired_trustedclient)
     assert_response :redirect
-    assert_match /^#{Rails.configuration.arvados_login_base}/, @response.redirect_url
+    assert_match /^#{Rails.configuration.Services.Controller.ExternalURL}\/login/, @response.redirect_url
     assert_nil assigns(:my_jobs)
     assert_nil assigns(:my_ssh_keys)
   end
 
   test "show welcome page if no token provided" do
-    get :index, {}
+    get :index, params: {}
     assert_response :redirect
     assert_match /\/users\/welcome/, @response.redirect_url
   end
 
+  test "'log in as user' feature uses a v2 token" do
+    post :sudo, params: {
+      id: api_fixture('users')['active']['uuid']
+    }, session: session_for('admin_trustedclient')
+    assert_response :redirect
+    assert_match /api_token=v2%2F/, @response.redirect_url
+  end
+
   test "request shell access" do
     user = api_fixture('users')['spectator']
 
     ActionMailer::Base.deliveries = []
 
-    post :request_shell_access, {
+    post :request_shell_access, params: {
       id: user['uuid'],
       format: 'js'
-    }, session_for(:spectator)
+    }, session: session_for(:spectator)
     assert_response :success
 
     full_name = "#{user['first_name']} #{user['last_name']}"
@@ -65,18 +73,18 @@ class UsersControllerTest < ActionController::TestCase
     test "access users page as #{username} and verify show button is available" do
       admin_user = api_fixture('users','admin')
       active_user = api_fixture('users','active')
-      get :index, {}, session_for(username)
+      get :index, params: {}, session: session_for(username)
       if username == 'admin'
         assert_match /<a href="\/projects\/#{admin_user['uuid']}">Home<\/a>/, @response.body
         assert_match /<a href="\/projects\/#{active_user['uuid']}">Home<\/a>/, @response.body
-        assert_match /href="\/users\/#{admin_user['uuid']}" title="show user"><i class="fa fa-fw fa-user"><\/i> Show<\/a/, @response.body
-        assert_match /href="\/users\/#{active_user['uuid']}" title="show user"><i class="fa fa-fw fa-user"><\/i> Show<\/a/, @response.body
+        assert_match /href="\/users\/#{admin_user['uuid']}"><i class="fa fa-fw fa-user"><\/i> Show<\/a/, @response.body
+        assert_match /href="\/users\/#{active_user['uuid']}"><i class="fa fa-fw fa-user"><\/i> Show<\/a/, @response.body
         assert_includes @response.body, admin_user['email']
         assert_includes @response.body, active_user['email']
       else
         refute_match  /Home<\/a>/, @response.body
-        refute_match /href="\/users\/#{admin_user['uuid']}" title="show user"><i class="fa fa-fw fa-user"><\/i> Show<\/a/, @response.body
-        assert_match /href="\/users\/#{active_user['uuid']}" title="show user"><i class="fa fa-fw fa-user"><\/i> Show<\/a/, @response.body
+        refute_match /href="\/users\/#{admin_user['uuid']}"><i class="fa fa-fw fa-user"><\/i> Show<\/a/, @response.body
+        assert_match /href="\/users\/#{active_user['uuid']}"><i class="fa fa-fw fa-user"><\/i> Show<\/a/, @response.body
         assert_includes @response.body, active_user['email']
       end
     end
@@ -89,9 +97,9 @@ class UsersControllerTest < ActionController::TestCase
     test "access settings drop down menu as #{username}" do
       admin_user = api_fixture('users','admin')
       active_user = api_fixture('users','active')
-      get :show, {
+      get :show, params: {
         id: api_fixture('users')[username]['uuid']
-      }, session_for(username)
+      }, session: session_for(username)
       if username == 'admin'
         assert_includes @response.body, admin_user['email']
         refute_empty css_select('[id="system-menu"]')