23 lines
813 B
Ruby
23 lines
813 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
RSpec.describe Jobs::CleanUpUnusedUserApiKeys do
|
||
|
fab!(:key1) { Fabricate(:readonly_user_api_key) }
|
||
|
fab!(:key2) { Fabricate(:readonly_user_api_key) }
|
||
|
fab!(:key3) { Fabricate(:readonly_user_api_key, revoked_at: 10.days.ago) }
|
||
|
|
||
|
context "when user api key is unused in last 1 days" do
|
||
|
before { SiteSetting.revoke_user_api_keys_unused_days = 1 }
|
||
|
|
||
|
it "should only revoke keys that are active and unused" do
|
||
|
freeze_time
|
||
|
|
||
|
key1.update!(last_used_at: 2.days.ago)
|
||
|
key3.update!(last_used_at: 2.days.ago)
|
||
|
|
||
|
expect { described_class.new.execute({}) }.to change { key1.reload.revoked_at }.from(nil).to(
|
||
|
be_within_one_second_of Time.current
|
||
|
).and not_change { key2.reload.revoked_at }.and not_change { key3.reload.revoked_at }
|
||
|
end
|
||
|
end
|
||
|
end
|