X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/da1614ac6d9b1b2aeba6267b304ce70c1726b608..ccce5e8ad71ed2e50ecd57c0f73f1aaafc468539:/services/api/test/functional/arvados/v1/users_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/users_controller_test.rb b/services/api/test/functional/arvados/v1/users_controller_test.rb index abf1ba1375..1fefcb6c68 100644 --- a/services/api/test/functional/arvados/v1/users_controller_test.rb +++ b/services/api/test/functional/arvados/v1/users_controller_test.rb @@ -13,7 +13,7 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase get :current assert_response :success me = JSON.parse(@response.body) - post :activate, uuid: me['uuid'] + post :activate, id: me['uuid'] assert_response :success assert_not_nil assigns(:object) me = JSON.parse(@response.body) @@ -21,12 +21,37 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase end test "refuse to activate a user before signing UA" do + act_as_system_user do + required_uuids = Link.where("owner_uuid = ? and link_class = ? and name = ? and tail_uuid = ? and head_uuid like ?", + system_user_uuid, + 'signature', + 'require', + system_user_uuid, + Collection.uuid_like_pattern). + collect(&:head_uuid) + + assert required_uuids.length > 0 + + signed_uuids = Link.where(owner_uuid: system_user_uuid, + link_class: 'signature', + name: 'click', + tail_uuid: users(:inactive).uuid, + head_uuid: required_uuids). + collect(&:head_uuid) + + assert_equal 0, signed_uuids.length + end + authorize_with :inactive + get :current assert_response :success me = JSON.parse(@response.body) - post :activate, uuid: me['uuid'] + assert_equal false, me['is_active'] + + post :activate, id: me['uuid'] assert_response 403 + get :current assert_response :success me = JSON.parse(@response.body) @@ -38,7 +63,7 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase get :current assert_response :success me = JSON.parse(@response.body) - post :activate, uuid: me['uuid'] + post :activate, id: me['uuid'] assert_response :success me = JSON.parse(@response.body) assert_equal true, me['is_active'] @@ -672,7 +697,7 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase verify_link_existence created['uuid'], created['email'], true, true, true, true, false # now unsetup this user - post :unsetup, uuid: created['uuid'] + post :unsetup, id: created['uuid'] assert_response :success created2 = JSON.parse(@response.body) @@ -697,7 +722,7 @@ class Arvados::V1::UsersControllerTest < ActionController::TestCase authorize_with :admin # now unsetup this user - post :unsetup, uuid: active_user['uuid'] + post :unsetup, id: active_user['uuid'] assert_response :success response_user = JSON.parse(@response.body)