summaryrefslogtreecommitdiff
path: root/qa/qa/resource/user.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/resource/user.rb')
-rw-r--r--qa/qa/resource/user.rb15
1 files changed, 13 insertions, 2 deletions
diff --git a/qa/qa/resource/user.rb b/qa/qa/resource/user.rb
index f95a68918dc..d1a310c7c43 100644
--- a/qa/qa/resource/user.rb
+++ b/qa/qa/resource/user.rb
@@ -5,6 +5,8 @@ require 'securerandom'
module QA
module Resource
class User < Base
+ InvalidUserError = Class.new(RuntimeError)
+
attr_reader :unique_id
attr_writer :username, :password
attr_accessor :admin, :provider, :extern_uid, :expect_fabrication_success
@@ -21,6 +23,13 @@ module QA
@expect_fabrication_success = true
end
+ def self.default
+ Resource::User.new.tap do |user|
+ user.username = Runtime::User.ldap_user? ? Runtime::User.ldap_username : Runtime::User.username
+ user.password = Runtime::User.ldap_user? ? Runtime::User.ldap_password : Runtime::User.password
+ end
+ end
+
def admin?
api_resource&.dig(:is_admin) || false
end
@@ -28,10 +37,12 @@ module QA
def username
@username || "qa-user-#{unique_id}"
end
+ alias_method :ldap_username, :username
def password
@password || 'password'
end
+ alias_method :ldap_password, :password
def name
@name ||= api_resource&.dig(:name) || "QA User #{unique_id}"
@@ -138,8 +149,8 @@ module QA
return {} unless extern_uid && provider
{
- extern_uid: extern_uid,
- provider: provider
+ extern_uid: extern_uid,
+ provider: provider
}
end