diff --git a/qa/qa/runtime/env.rb b/qa/qa/runtime/env.rb index 81d00d45753930a4ebc9ea900dd35078ad465e55..2126ce6b23447445baf0d2fd8289cd81bef7c980 100644 --- a/qa/qa/runtime/env.rb +++ b/qa/qa/runtime/env.rb @@ -3,6 +3,8 @@ module QA module Env extend self + attr_writer :user_type + # set to 'false' to have Chrome run visibly instead of headless def chrome_headless? (ENV['CHROME_HEADLESS'] =~ /^(false|no|0)$/i) != 0 @@ -20,7 +22,9 @@ module QA # By default, "standard" denotes a standard GitLab user login. # Set this to "ldap" if the user should be logged in via LDAP. def user_type - (ENV['GITLAB_USER_TYPE'] || 'standard').tap do |type| + return @user_type if defined?(@user_type) # rubocop:disable Gitlab/ModuleWithInstanceVariables + + ENV.fetch('GITLAB_USER_TYPE', 'standard').tap do |type| unless %w(ldap standard).include?(type) raise ArgumentError.new("Invalid user type '#{type}': must be 'ldap' or 'standard'") end diff --git a/qa/qa/specs/features/login/ldap_spec.rb b/qa/qa/specs/features/login/ldap_spec.rb index ac2bd5a3c39c535daa5c25a1ce159b1f71330f05..737f4d10053369708127a8f7cdad8979c9a5cbba 100644 --- a/qa/qa/specs/features/login/ldap_spec.rb +++ b/qa/qa/specs/features/login/ldap_spec.rb @@ -1,8 +1,12 @@ module QA feature 'LDAP user login', :ldap do + before do + Runtime::Env.user_type = 'ldap' + end + scenario 'user logs in using LDAP credentials' do Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_ldap_credentials } + Page::Main::Login.act { sign_in_using_credentials } # TODO, since `Signed in successfully` message was removed # this is the only way to tell if user is signed in correctly.