-=end
- [
- [false, [], [], 'inactive-none@example.com', false, false, true],
- [false, [], [], 'inactive-vm@example.com', true, false, true],
- [false, [], [], 'inactive-repo@example.com', false, true, true],
- [false, [], [], 'inactive-both@example.com', true, true, true],
-
- [true, 'active-notify@example.com', 'inactive-notify@example.com', 'active-none@example.com', false, false, true],
- [true, 'active-notify@example.com', 'inactive-notify@example.com', 'active-vm@example.com', true, false, true],
- [true, 'active-notify@example.com', 'inactive-notify@example.com', 'active-repo@example.com', false, true, true],
- [true, 'active-notify@example.com', 'inactive-notify@example.com', 'active-both@example.com', true, true, true],
-
- [false, [], [], nil, true, true, false],
-
- [false, [], [], 'arvados', true, true, false],
- [false, [], [], 'arva_dos', true, true, false],
- [false, [], [], 'arvados', false, false, true], # since we are not creating repo and vm login, this blaklisted name is not a problem
-
- [false, [], [], 'arvados@example.com', false, false, true], # since we are not creating repo and vm login, this blaklisted name is not a problem
- [false, [], [], 'arva_dos@example.com', false, false, true], # since we are not creating repo and vm login, this blaklisted name is not a problem
-
- [false, [], [], '@example.com', true, false, false], # incorrect format
- [false, [], [], '@example.com', false, true, false],
- [false, [], [], '@example.com', false, false, true], # no repo and vm login, so no issue with email format
-
- [false, [], [], '^^incorrect_format@example.com', true, true, false],
-
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'foo@example.com', true, true, true], # existing repository name 'foo'
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'foo@example.com', true, false, true], # existing repository name 'foo'
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'foo@example.com', false, true, true], # existing repository name 'foo'
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'foo@example.com', false, false, true], # existing repository name 'foo', but we are not creating repo or login link
-
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'xyz_can_login_to_vm@example.com', true, true, true], # existing vm login name
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'xyz_can_login_to_vm@example.com', true, false, true], # existing vm login name
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'xyz_can_login_to_vm@example.com', false, true, true], # existing vm login name
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'xyz_can_login_to_vm@example.com', false, false, true], # existing vm login name, but we are not creating repo or login link
-
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'r_o_o_t@example.com', true, false, false], # blacklisted name after removing -._ characters
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'r_o.o-t@example.com', false, true, false], # blacklisted name after removing -._ characters
-
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'r_o_o_t@example.com', false, false, true], # blacklisted after removing -._, but ok because no repo and vm login
-
- [false, 'active-notify@example.com', 'inactive-notify@example.com', 'r_o. o-t@example.com', true, true, false], # invalid because of space character
-
- [false, 'active-notify@example.com', 'inactive-notify@example.com', '*!*@example.com', true, false, false], # username is invalid format
- [false, 'active-notify@example.com', 'inactive-notify@example.com', '*!*@example.com', false, false, true], # since no repo and vm login, username is ok (not validated)
- [false, 'active-notify@example.com', 'inactive-notify@example.com', '4ad@example.com', true, true, false], # username is invalid format
- [false, 'active-notify@example.com', 'inactive-notify@example.com', '4ad@example.com', false, false, true], # no repo or vm login, so format not checked
- [false, 'active-notify@example.com', 'inactive-notify@example.com', '&4ad@example.com', true, true, false], # username is invalid format
- [false, 'active-notify@example.com', 'inactive-notify@example.com', '&4ad@example.com', false, false, true], # no repo or vm login, so format not checked
-
- ].each do |active, active_recipients, inactive_recipients, email, auto_setup_vm, auto_setup_repo, valid_username|
- test "create new user with auto setup #{email} #{auto_setup_vm} #{auto_setup_repo}" do
- auto_setup_new_users = Rails.configuration.auto_setup_new_users
- auto_setup_new_users_with_vm_uuid = Rails.configuration.auto_setup_new_users_with_vm_uuid
- auto_setup_new_users_with_repository = Rails.configuration.auto_setup_new_users_with_repository
-
- begin
- set_user_from_auth :admin
-
- Rails.configuration.auto_setup_new_users = true