2019-10-12 21:52:04 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-17 18:26:18 +05:30
|
|
|
FactoryBot.define do
|
2016-06-22 15:30:34 +05:30
|
|
|
factory :personal_access_token do
|
|
|
|
user
|
2017-08-17 22:00:37 +05:30
|
|
|
sequence(:name) { |n| "PAT #{n}" }
|
2019-12-21 20:55:43 +05:30
|
|
|
revoked { false }
|
2016-06-22 15:30:34 +05:30
|
|
|
expires_at { 5.days.from_now }
|
2019-12-21 20:55:43 +05:30
|
|
|
scopes { ['api'] }
|
|
|
|
impersonation { false }
|
2017-08-17 22:00:37 +05:30
|
|
|
|
2019-07-07 11:18:12 +05:30
|
|
|
after(:build) { |personal_access_token| personal_access_token.ensure_token }
|
|
|
|
|
2017-08-17 22:00:37 +05:30
|
|
|
trait :impersonation do
|
2019-12-21 20:55:43 +05:30
|
|
|
impersonation { true }
|
2017-08-17 22:00:37 +05:30
|
|
|
end
|
|
|
|
|
|
|
|
trait :revoked do
|
2019-12-21 20:55:43 +05:30
|
|
|
revoked { true }
|
2017-08-17 22:00:37 +05:30
|
|
|
end
|
|
|
|
|
|
|
|
trait :expired do
|
|
|
|
expires_at { 1.day.ago }
|
|
|
|
end
|
|
|
|
|
|
|
|
trait :invalid do
|
2019-12-21 20:55:43 +05:30
|
|
|
token_digest { nil }
|
2017-08-17 22:00:37 +05:30
|
|
|
end
|
2021-02-22 17:27:13 +05:30
|
|
|
|
2023-03-17 16:20:25 +05:30
|
|
|
trait :admin_mode do
|
|
|
|
before(:create) do |personal_access_token|
|
|
|
|
personal_access_token.scopes.append(Gitlab::Auth::ADMIN_MODE_SCOPE) if personal_access_token.user.admin?
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2021-02-22 17:27:13 +05:30
|
|
|
trait :no_prefix do
|
|
|
|
after(:build) { |personal_access_token| personal_access_token.set_token(Devise.friendly_token) }
|
|
|
|
end
|
2016-06-22 15:30:34 +05:30
|
|
|
end
|
|
|
|
end
|