discourse/spec/jobs/clean_up_unused_user_api_ke...

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