Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/page/main/login.rb')
-rw-r--r--qa/qa/page/main/login.rb21
1 files changed, 19 insertions, 2 deletions
diff --git a/qa/qa/page/main/login.rb b/qa/qa/page/main/login.rb
index 048119d65cb..3b3057a9acb 100644
--- a/qa/qa/page/main/login.rb
+++ b/qa/qa/page/main/login.rb
@@ -52,13 +52,17 @@ module QA
using_wait_time 0 do
set_initial_password_if_present
- raise 'If an LDAP user is provided, it must be used for sign-in', QA::Resource::User::InvalidUserError if Runtime::User.ldap_user? && user && user.username != Runtime::User.ldap_username
+ if Runtime::User.ldap_user? && user && user.username != Runtime::User.ldap_username
+ raise 'If an LDAP user is provided, it must be used for sign-in', QA::Resource::User::InvalidUserError
+ end
if Runtime::User.ldap_user?
sign_in_using_ldap_credentials(user: user || Runtime::User)
else
sign_in_using_gitlab_credentials(user: user || Runtime::User, skip_page_validation: skip_page_validation)
end
+
+ set_up_new_password_if_required(user: user, skip_page_validation: skip_page_validation)
end
end
@@ -70,7 +74,6 @@ module QA
using_wait_time 0 do
set_initial_password_if_present
-
sign_in_using_gitlab_credentials(user: admin)
end
@@ -168,6 +171,20 @@ module QA
Page::Main::Menu.validate_elements_present! unless skip_page_validation
end
+ # 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:)
+ return unless has_content?('Set up new password')
+
+ Profile::Password.perform do |new_password_page|
+ password = user&.password || Runtime::User.password
+ new_password_page.set_new_password(password, password)
+ end
+
+ sign_in_using_credentials(user: user, skip_page_validation: skip_page_validation)
+ end
+
def set_initial_password_if_present
return unless has_content?('Change your password')