diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 15:44:42 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 15:44:42 +0000 |
commit | 4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch) | |
tree | 5423a1c7516cffe36384133ade12572cf709398d /qa/qa/resource/user.rb | |
parent | e570267f2f6b326480d284e0164a6464ba4081bc (diff) | |
download | gitlab-ce-4555e1b21c365ed8303ffb7a3325d773c9b8bf31.tar.gz |
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'qa/qa/resource/user.rb')
-rw-r--r-- | qa/qa/resource/user.rb | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/qa/qa/resource/user.rb b/qa/qa/resource/user.rb index d98b7d7c79d..8957dbcbe84 100644 --- a/qa/qa/resource/user.rb +++ b/qa/qa/resource/user.rb @@ -9,7 +9,7 @@ module QA attr_reader :unique_id attr_writer :username, :password - attr_accessor :admin, :provider, :extern_uid, :expect_fabrication_success + attr_accessor :admin, :provider, :extern_uid, :expect_fabrication_success, :hard_delete_on_api_removal attribute :id attribute :name @@ -19,6 +19,7 @@ module QA def initialize @admin = false + @hard_delete_on_api_removal = false @unique_id = SecureRandom.hex(8) @expect_fabrication_success = true end @@ -77,9 +78,7 @@ module QA def fabricate! # Don't try to log-out if we're not logged-in - if Page::Main::Menu.perform { |p| p.has_personal_area?(wait: 0) } - Page::Main::Menu.perform { |main| main.sign_out } - end + Page::Main::Menu.perform(&:sign_out) if Page::Main::Menu.perform { |p| p.has_personal_area?(wait: 0) } if credentials_given? Page::Main::Login.perform do |login| @@ -103,9 +102,9 @@ module QA end def api_delete_path - "/users/#{id}" + "/users/#{id}?hard_delete=#{hard_delete_on_api_removal}" rescue NoValueError - "/users/#{fetch_id(username)}" + "/users/#{fetch_id(username)}?hard_delete=#{hard_delete_on_api_removal}" end def api_get_path @@ -135,12 +134,12 @@ module QA def self.fabricate_or_use(username = nil, password = nil) if Runtime::Env.signup_disabled? - self.fabricate_via_api! do |user| + fabricate_via_api! do |user| user.username = username user.password = password end else - self.fabricate! do |user| + fabricate! do |user| user.username = username if username user.password = password if password end @@ -149,10 +148,9 @@ module QA def block! response = post(Runtime::API::Request.new(api_client, api_block_path).url, nil) + return if response.code == HTTP_STATUS_CREATED - unless response.code == HTTP_STATUS_CREATED - raise ResourceUpdateFailedError, "Failed to block user. Request returned (#{response.code}): `#{response}`." - end + raise ResourceUpdateFailedError, "Failed to block user. Request returned (#{response.code}): `#{response}`." end private |