X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/58a4f7eb6dc51569eef87b6b5de800e4defa6291..96d90c859cede094d83cbaf5409418e9ab0c2c19:/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 45dd186dfd..0d66a4b384 100644 --- a/services/api/test/unit/user_test.rb +++ b/services/api/test/unit/user_test.rb @@ -93,6 +93,16 @@ class UserTest < ActiveSupport::TestCase test "new username set with deduplication" do name = users(:active).username check_new_username_setting(name, "#{name}2") + check_new_username_setting(name, "#{name}3") + # Insert some out-of-order conflicts, to ensure our "sort by + # username, stop when we see a hole" strategy doesn't depend on + # insert order. + check_new_username_setting("#{name}13", "#{name}13") + check_new_username_setting("#{name}5", "#{name}5") + check_new_username_setting(name, "#{name}4") + 6.upto(12).each do |n| + check_new_username_setting(name, "#{name}#{n}") + end end test "new username set avoiding blacklist" do @@ -126,7 +136,6 @@ class UserTest < ActiveSupport::TestCase test "admin can't clear username when user owns repositories" do set_user_from_auth :admin user = users(:active) - start_username = user.username user.username = nil assert_not_allowed { user.save } refute_empty(user.errors[:username]) @@ -457,6 +466,7 @@ class UserTest < ActiveSupport::TestCase vm_perm = find_obj_in_resp response, 'Link', 'arvados#virtualMachine' verify_link vm_perm, 'permission', 'can_login', resp_user[:uuid], vm.uuid + assert_equal("foo", vm_perm.properties["username"]) end test "setup new user with junk in database" do @@ -499,6 +509,7 @@ class UserTest < ActiveSupport::TestCase vm_perm = find_obj_in_resp response, 'Link', 'arvados#virtualMachine' verify_link vm_perm, 'permission', 'can_login', resp_user[:uuid], vm.uuid + assert_equal("foo", vm_perm.properties["username"]) end test "setup new user in multiple steps" do @@ -552,6 +563,7 @@ class UserTest < ActiveSupport::TestCase vm_perm = find_obj_in_resp response, 'Link', 'arvados#virtualMachine' verify_link vm_perm, 'permission', 'can_login', resp_user[:uuid], vm.uuid + assert_equal("foo", vm_perm.properties["username"]) end def find_obj_in_resp (response_items, object_type, head_kind=nil)