40 lines
918 B
Ruby
40 lines
918 B
Ruby
# frozen_string_literal: true
|
|
|
|
FactoryBot.define do
|
|
factory :personal_access_token do
|
|
user
|
|
sequence(:name) { |n| "PAT #{n}" }
|
|
revoked { false }
|
|
expires_at { 5.days.from_now }
|
|
scopes { ['api'] }
|
|
impersonation { false }
|
|
|
|
after(:build) { |personal_access_token| personal_access_token.ensure_token }
|
|
|
|
trait :impersonation do
|
|
impersonation { true }
|
|
end
|
|
|
|
trait :revoked do
|
|
revoked { true }
|
|
end
|
|
|
|
trait :expired do
|
|
expires_at { 1.day.ago }
|
|
end
|
|
|
|
trait :invalid do
|
|
token_digest { nil }
|
|
end
|
|
|
|
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
|
|
|
|
trait :no_prefix do
|
|
after(:build) { |personal_access_token| personal_access_token.set_token(Devise.friendly_token) }
|
|
end
|
|
end
|
|
end
|