X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/370366c748b22f5c230bf11e209a190612c088e7..0561bd0c3c07257fd58ded6c7cfa5feeae97af57:/services/api/test/integration/users_test.rb diff --git a/services/api/test/integration/users_test.rb b/services/api/test/integration/users_test.rb index 0d6c0f360f..0288e887f9 100644 --- a/services/api/test/integration/users_test.rb +++ b/services/api/test/integration/users_test.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' require 'helpers/users_test_helper' @@ -5,7 +9,7 @@ class UsersTest < ActionDispatch::IntegrationTest include UsersTestHelper test "setup user multiple times" do - repo_name = 'test_repo' + repo_name = 'usertestrepo' post "/arvados/v1/users/setup", { repo_name: repo_name, @@ -35,7 +39,7 @@ class UsersTest < ActionDispatch::IntegrationTest created['uuid'], created['email'], 'arvados#user', false, 'arvados#user' verify_link response_items, 'arvados#repository', true, 'permission', 'can_manage', - repo_name, created['uuid'], 'arvados#repository', true, 'Repository' + 'foo/usertestrepo', created['uuid'], 'arvados#repository', true, 'Repository' verify_link response_items, 'arvados#group', true, 'permission', 'can_read', 'All users', created['uuid'], 'arvados#group', true, 'Group' @@ -57,8 +61,15 @@ class UsersTest < ActionDispatch::IntegrationTest email: "foo@example.com" } }, auth(:admin) + assert_response 422 # cannot create another user with same UUID - assert_response :success + # invoke setup on the same user + post "/arvados/v1/users/setup", { + repo_name: repo_name, + vm_uuid: virtual_machines(:testvm).uuid, + openid_prefix: 'https://www.google.com/accounts/o8/id', + uuid: 'zzzzz-tpzed-abcdefghijklmno', + }, auth(:admin) response_items = json_response['items'] @@ -71,7 +82,7 @@ class UsersTest < ActionDispatch::IntegrationTest # arvados#user, repo link and link add user to 'All users' group verify_link response_items, 'arvados#repository', true, 'permission', 'can_manage', - repo_name, created['uuid'], 'arvados#repository', true, 'Repository' + 'foo/usertestrepo', created['uuid'], 'arvados#repository', true, 'Repository' verify_link response_items, 'arvados#group', true, 'permission', 'can_read', 'All users', created['uuid'], 'arvados#group', true, 'Group' @@ -105,16 +116,13 @@ class UsersTest < ActionDispatch::IntegrationTest verify_link response_items, 'arvados#group', true, 'permission', 'can_read', 'All users', created['uuid'], 'arvados#group', true, 'Group' - verify_link response_items, 'arvados#repository', false, 'permission', 'can_manage', - 'test_repo', created['uuid'], 'arvados#repository', true, 'Repository' - verify_link response_items, 'arvados#virtualMachine', false, 'permission', 'can_login', nil, created['uuid'], 'arvados#virtualMachine', false, 'VirtualMachine' # invoke setup with a repository post "/arvados/v1/users/setup", { openid_prefix: 'http://www.example.com/account', - repo_name: 'new_repo', + repo_name: 'newusertestrepo', uuid: created['uuid'] }, auth(:admin) @@ -130,7 +138,7 @@ class UsersTest < ActionDispatch::IntegrationTest 'All users', created['uuid'], 'arvados#group', true, 'Group' verify_link response_items, 'arvados#repository', true, 'permission', 'can_manage', - 'new_repo', created['uuid'], 'arvados#repository', true, 'Repository' + 'foo/newusertestrepo', created['uuid'], 'arvados#repository', true, 'Repository' verify_link response_items, 'arvados#virtualMachine', false, 'permission', 'can_login', nil, created['uuid'], 'arvados#virtualMachine', false, 'VirtualMachine' @@ -156,17 +164,13 @@ class UsersTest < ActionDispatch::IntegrationTest verify_link response_items, 'arvados#group', true, 'permission', 'can_read', 'All users', created['uuid'], 'arvados#group', true, 'Group' - # since no repo name in input, we won't get any; even though user has one - verify_link response_items, 'arvados#repository', false, 'permission', 'can_manage', - 'new_repo', created['uuid'], 'arvados#repository', true, 'Repository' - verify_link response_items, 'arvados#virtualMachine', true, 'permission', 'can_login', virtual_machines(:testvm).uuid, created['uuid'], 'arvados#virtualMachine', false, 'VirtualMachine' end test "setup and unsetup user" do post "/arvados/v1/users/setup", { - repo_name: 'test_repo', + repo_name: 'newusertestrepo', vm_uuid: virtual_machines(:testvm).uuid, user: {email: 'foo@example.com'}, openid_prefix: 'https://www.google.com/accounts/o8/id' @@ -186,7 +190,7 @@ class UsersTest < ActionDispatch::IntegrationTest 'All users', created['uuid'], 'arvados#group', true, 'Group' verify_link response_items, 'arvados#repository', true, 'permission', 'can_manage', - 'test_repo', created['uuid'], 'arvados#repository', true, 'Repository' + 'foo/newusertestrepo', created['uuid'], 'arvados#repository', true, 'Repository' verify_link response_items, 'arvados#virtualMachine', true, 'permission', 'can_login', virtual_machines(:testvm).uuid, created['uuid'], 'arvados#virtualMachine', false, 'VirtualMachine'