Skip to content
代码片段 群组 项目
未验证 提交 8eba5a07 编辑于 作者: Mark Lapierre's avatar Mark Lapierre 提交者: GitLab
浏览文件

Merge branch 'andrey-remove-reset-call' into 'master'

Remove call for password reset on every sign-in invocation

See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/175077



Merged-by: default avatarMark Lapierre <mlapierre@gitlab.com>
Approved-by: default avatarMark Lapierre <mlapierre@gitlab.com>
Reviewed-by: default avatarMark Lapierre <mlapierre@gitlab.com>
Co-authored-by: default avatarAndrejs Cunskis <acunskis@gitlab.com>
No related branches found
No related tags found
无相关合并请求
......@@ -51,7 +51,13 @@ def initialize_admin_api_client!
)
Runtime::Browser.visit(:gitlab, Page::Main::Login)
Page::Main::Login.perform(&:sign_in_using_admin_credentials)
Page::Main::Login.perform do |login|
admin_user = Runtime::User::Store.admin_user
login.sign_in_using_credentials(user: admin_user)
rescue Runtime::User::ExpiredPasswordError
login.set_up_new_password(user: admin_user)
end
Page::Main::Menu.perform(&:sign_out_if_signed_in)
Runtime::User::Store.initialize_admin_api_client # re-initialize admin client after password reset
......
......@@ -81,8 +81,6 @@ def sign_in_using_credentials(user: nil, skip_page_validation: false, raise_on_i
raise_on_invalid_login: raise_on_invalid_login
)
end
set_up_new_password_if_required(user: test_user, skip_page_validation: skip_page_validation)
end
end
......@@ -92,8 +90,6 @@ def sign_in_using_admin_credentials
sign_in_using_gitlab_credentials(user: admin_user)
end
set_up_new_password_if_required(user: admin_user, skip_page_validation: false)
Page::Main::Menu.perform(&:has_personal_area?)
end
......@@ -194,23 +190,15 @@ def redirect_to_login_page(address)
Runtime::Browser.visit(address, Page::Main::Login)
end
private
# Handle request for password change
# Happens on clean GDK installations when seeded root admin password is expired
#
def set_up_new_password_if_required(user:, skip_page_validation:)
Support::WaitForRequests.wait_for_requests
return unless has_content?('Update password for', wait: 1)
def set_up_new_password(user:)
Profile::Password.perform do |new_password_page|
password = user.password
new_password_page.set_new_password(password, password)
end
sign_in_using_credentials(user: user, skip_page_validation: skip_page_validation)
end
private
def sign_in_using_gitlab_credentials(user:, skip_page_validation: false, raise_on_invalid_login: true)
wait_if_retry_later
......@@ -233,7 +221,9 @@ def sign_in_using_gitlab_credentials(user:, skip_page_validation: false, raise_o
# Return if new password page is shown
# Happens on clean GDK installations when seeded root admin password is expired
return if has_content?('Update password for', wait: 1)
if has_content?('Update password for', wait: 0)
raise Runtime::User::ExpiredPasswordError, "Password for #{user.username} is expired and must be reset"
end
Page::Main::Terms.perform do |terms|
terms.accept_terms if terms.visible?
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册