X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d43dce642a9681a33a5259f5bde05c8d3f3b690e..0145b3654f3af993b03719996385dedd2e803c08:/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 09f29b81c0..28e43b8450 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' @@ -213,4 +217,38 @@ class UsersTest < ActionDispatch::IntegrationTest nil end + test 'merge active into project_viewer account' do + post('/arvados/v1/groups', { + group: { + group_class: 'project', + name: "active user's stuff", + }, + }, auth(:project_viewer)) + assert_response(:success) + project_uuid = json_response['uuid'] + + post('/arvados/v1/users/merge', { + new_user_token: api_client_authorizations(:project_viewer_trustedclient).api_token, + new_owner_uuid: project_uuid, + redirect_to_new_user: true, + }, auth(:active_trustedclient)) + assert_response(:success) + + get('/arvados/v1/users/current', {}, auth(:active)) + assert_response(:success) + assert_equal(users(:project_viewer).uuid, json_response['uuid']) + + get('/arvados/v1/authorized_keys/' + authorized_keys(:active).uuid, {}, auth(:active)) + assert_response(:success) + assert_equal(users(:project_viewer).uuid, json_response['owner_uuid']) + assert_equal(users(:project_viewer).uuid, json_response['authorized_user_uuid']) + + get('/arvados/v1/repositories/' + repositories(:foo).uuid, {}, auth(:active)) + assert_response(:success) + assert_equal(users(:project_viewer).uuid, json_response['owner_uuid']) + + get('/arvados/v1/groups/' + groups(:aproject).uuid, {}, auth(:active)) + assert_response(:success) + assert_equal(project_uuid, json_response['owner_uuid']) + end end