debian-mirror-gitlab/spec/factories/personal_access_tokens.rb

41 lines
918 B
Ruby
Raw Normal View History

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