X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9b0654adfffaac018395de29f6e441b843d46e85..0eb72b526bf8bbb011551ecf019f604e17a534f1:/services/api/test/unit/user_test.rb diff --git a/services/api/test/unit/user_test.rb b/services/api/test/unit/user_test.rb index 0d66a4b384..3d8fb9da75 100644 --- a/services/api/test/unit/user_test.rb +++ b/services/api/test/unit/user_test.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' class UserTest < ActiveSupport::TestCase @@ -162,8 +166,8 @@ class UserTest < ActiveSupport::TestCase if auto_admin_first_user_config # This test requires no admin users exist (except for the system user) users(:admin).delete - @all_users = User.where("uuid not like '%-000000000000000'").where(:is_admin => true).find(:all) - assert_equal 0, @all_users.size, "No admin users should exist (except for the system user)" + @all_users = User.where("uuid not like '%-000000000000000'").where(:is_admin => true) + assert_equal 0, @all_users.count, "No admin users should exist (except for the system user)" end Rails.configuration.auto_admin_first_user = auto_admin_first_user_config @@ -276,14 +280,16 @@ class UserTest < ActiveSupport::TestCase assert @uninvited_user.can? :write=>"#{@uninvited_user.uuid}" assert @uninvited_user.can? :manage=>"#{@uninvited_user.uuid}" - assert @uninvited_user.groups_i_can(:read).size == 1, "inactive and uninvited user can only read anonymous user group" - assert @uninvited_user.groups_i_can(:read).first.ends_with? 'anonymouspublic' , "inactive and uninvited user can only read anonymous user group" - assert @uninvited_user.groups_i_can(:write).size == 0, "inactive and uninvited user should not be able write to any groups" - assert @uninvited_user.groups_i_can(:manage).size == 0, "inactive and uninvited user should not be able manage any groups" + assert_equal(@uninvited_user.groups_i_can(:read).sort, + [@uninvited_user.uuid, groups(:anonymous_group).uuid].sort) + assert_equal(@uninvited_user.groups_i_can(:write), + [@uninvited_user.uuid]) + assert_equal(@uninvited_user.groups_i_can(:manage), + [@uninvited_user.uuid]) end test "find user method checks" do - User.find(:all).each do |user| + User.all.each do |user| assert_not_nil user.uuid, "non-null uuid expected for " + user.full_name end @@ -311,14 +317,14 @@ class UserTest < ActiveSupport::TestCase test "create new user" do set_user_from_auth :admin - @all_users = User.find(:all) + @all_users = User.all.to_a user = User.new user.first_name = "first_name_for_newly_created_user" user.save # verify there is one extra user in the db now - assert_equal @all_users.size+1, User.find(:all).size + assert_equal @all_users.size+1, User.all.count user = User.find(user.id) # get the user back assert_equal(user.first_name, 'first_name_for_newly_created_user') @@ -420,7 +426,7 @@ class UserTest < ActiveSupport::TestCase @active_user.delete found_deleted_user = false - User.find(:all).each do |user| + User.all.each do |user| if user.uuid == active_user_uuid found_deleted_user = true break @@ -445,7 +451,9 @@ class UserTest < ActiveSupport::TestCase vm = VirtualMachine.create - response = User.setup user, openid_prefix, 'foo/testrepo', vm.uuid + response = user.setup(openid_prefix: openid_prefix, + repo_name: 'foo/testrepo', + vm_uuid: vm.uuid) resp_user = find_obj_in_resp response, 'User' verify_user resp_user, email @@ -488,7 +496,9 @@ class UserTest < ActiveSupport::TestCase verify_link resp_link, 'permission', 'can_login', email, bad_uuid - response = User.setup user, openid_prefix, 'foo/testrepo', vm.uuid + response = user.setup(openid_prefix: openid_prefix, + repo_name: 'foo/testrepo', + vm_uuid: vm.uuid) resp_user = find_obj_in_resp response, 'User' verify_user resp_user, email @@ -520,7 +530,7 @@ class UserTest < ActiveSupport::TestCase user = User.create ({uuid: 'zzzzz-tpzed-abcdefghijklmno', email: email}) - response = User.setup user, openid_prefix + response = user.setup(openid_prefix: openid_prefix) resp_user = find_obj_in_resp response, 'User' verify_user resp_user, email @@ -535,7 +545,8 @@ class UserTest < ActiveSupport::TestCase verify_link group_perm, 'permission', 'can_read', resp_user[:uuid], nil # invoke setup again with repo_name - response = User.setup user, openid_prefix, 'foo/testrepo' + response = user.setup(openid_prefix: openid_prefix, + repo_name: 'foo/testrepo') resp_user = find_obj_in_resp response, 'User', nil verify_user resp_user, email assert_equal user.uuid, resp_user[:uuid], 'expected uuid not found' @@ -549,7 +560,9 @@ class UserTest < ActiveSupport::TestCase # invoke setup again with a vm_uuid vm = VirtualMachine.create - response = User.setup user, openid_prefix, 'foo/testrepo', vm.uuid + response = user.setup(openid_prefix: openid_prefix, + repo_name: 'foo/testrepo', + vm_uuid: vm.uuid) resp_user = find_obj_in_resp response, 'User', nil verify_user resp_user, email