2019-04-30 08:27:42 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-08-20 23:36:14 +08:00
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
RSpec.describe Jobs::AutoExpireUserApiKeys do
|
|
|
|
let(:key1) { Fabricate(:readonly_user_api_key) }
|
|
|
|
let(:key2) { Fabricate(:readonly_user_api_key) }
|
|
|
|
|
|
|
|
context 'when user api key is unused in last 1 days' do
|
|
|
|
|
|
|
|
before do
|
2019-04-23 18:25:21 +08:00
|
|
|
SiteSetting.expire_user_api_keys_days = 1
|
2018-08-20 23:36:14 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
it 'should revoke the key' do
|
|
|
|
freeze_time
|
|
|
|
|
|
|
|
key1.update!(last_used_at: 2.days.ago)
|
|
|
|
|
|
|
|
described_class.new.execute({})
|
|
|
|
|
2019-04-23 18:25:21 +08:00
|
|
|
expect(key1.reload.revoked_at).to be_within(1.second).of(Time.zone.now)
|
2018-08-20 23:36:14 +08:00
|
|
|
expect(key2.reload.revoked_at).to eq(nil)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|