X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7ad430f157028a8f8ab52c6f17c4864ada271667..093cebc3a4baed645fd5d4a5331c2ff837de8c77:/apps/workbench/test/functional/users_controller_test.rb diff --git a/apps/workbench/test/functional/users_controller_test.rb b/apps/workbench/test/functional/users_controller_test.rb index c67c56b5c7..a734391e98 100644 --- a/apps/workbench/test/functional/users_controller_test.rb +++ b/apps/workbench/test/functional/users_controller_test.rb @@ -1,4 +1,43 @@ require 'test_helper' class UsersControllerTest < ActionController::TestCase + test "valid token works in functional test" do + get :index, {}, 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) + assert_response :redirect + assert_match /^#{Rails.configuration.arvados_login_base}/, @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, { + id: api_fixture('users')['active']['uuid'] + }, session_for(:expired_trustedclient) + assert_response :redirect + assert_match /^#{Rails.configuration.arvados_login_base}/, @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, {} + assert_response :redirect + assert_match /\/users\/welcome/, @response.redirect_url + end + + test "show repositories with read, write, or manage permission" do + get :manage_account, {}, session_for(:active) + assert_response :success + repos = assigns(:my_repositories) + assert repos + assert_not_empty repos, "my_repositories should not be empty" + editables = repos.collect { |r| !!assigns(:repo_writable)[r.uuid] } + assert_includes editables, true, "should have a writable repository" + assert_includes editables, false, "should have a readonly repository" + end end