diff --git a/app/jobs/expire_account_reset_requests_job.rb b/app/jobs/expire_account_reset_requests_job.rb deleted file mode 100644 index 49b07b2e732..00000000000 --- a/app/jobs/expire_account_reset_requests_job.rb +++ /dev/null @@ -1,50 +0,0 @@ -# frozen_string_literal: true - -class ExpireAccountResetRequestsJob < ApplicationJob - queue_as :long_running - - def perform(now) - resets = 0 - expired_days = ( - IdentityConfig.store.account_reset_wait_period_days + - IdentityConfig.store.account_reset_token_valid_for_days - ).days - AccountResetRequest.where( - sql_query_for_users_with_expired_requests, - tvalue: now + expired_days, - ).order('requested_at ASC').limit(1_000).each do |arr| - resets += 1 if expire_request(arr) - end - - analytics.account_reset_request_expired(count: resets) - - resets - end - - private - - def analytics - @analytics ||= Analytics.new( - user: AnonymousUser.new, - request: nil, - sp: nil, - session: {}, - ) - end - - def sql_query_for_users_with_expired_requests - <<~SQL - request_token IS NOT NULL AND - cancelled_at IS NULL AND - granted_at < :tvalue - SQL - end - - def expire_request(arr) - arr.update!( - cancelled_at: Time.zone.now, - request_token: nil, - granted_token: nil, - ) - end -end diff --git a/app/services/analytics_events.rb b/app/services/analytics_events.rb index 07cfabe8720..e689a2bb4d4 100644 --- a/app/services/analytics_events.rb +++ b/app/services/analytics_events.rb @@ -217,12 +217,6 @@ def account_reset_request( ) end - # Tracks expiration of account reset requests - # @param [Integer] count number of requests expired - def account_reset_request_expired(count:, **extra) - track_event(:account_reset_request_expired, count: count, **extra) - end - # User visited the account deletion and reset page def account_reset_visit track_event('Account deletion and reset visited') diff --git a/config/initializers/job_configurations.rb b/config/initializers/job_configurations.rb index b5a5e91eaf9..28fc0441df7 100644 --- a/config/initializers/job_configurations.rb +++ b/config/initializers/job_configurations.rb @@ -36,12 +36,6 @@ cron: cron_5m, args: -> { [Time.zone.now] }, }, - # Cancel expired account reset requests - expire_account_reset_requests: { - class: 'ExpireAccountResetRequestsJob', - cron: cron_5m, - args: -> { [Time.zone.now] }, - }, # Send Total Monthly Auths Report to S3 total_monthly_auths: { class: 'Reports::TotalMonthlyAuthsReport', diff --git a/spec/jobs/expire_account_reset_requests_job_spec.rb b/spec/jobs/expire_account_reset_requests_job_spec.rb deleted file mode 100644 index 96b983171d8..00000000000 --- a/spec/jobs/expire_account_reset_requests_job_spec.rb +++ /dev/null @@ -1,68 +0,0 @@ -require 'rails_helper' - -RSpec.describe ExpireAccountResetRequestsJob do - describe '#perform' do - subject(:perform) { job.perform(now) } - let(:job) { ExpireAccountResetRequestsJob.new } - - let(:user) { create(:user) } - let(:user2) { create(:user) } - let(:requested_at) { Time.zone.now - 3.days } - let(:account_reset_request) do - AccountResetRequest.create( - user_id: user.id, - requested_at: requested_at, - request_token: SecureRandom.uuid, - cancelled_at: nil, - granted_at: requested_at, - granted_token: SecureRandom.uuid, - created_at: requested_at, - updated_at: requested_at, - requesting_issuer: nil, - ) - AccountResetRequest.create( - user_id: user2.id, - requested_at: Time.zone.now, - request_token: nil, - cancelled_at: nil, - granted_at: Time.zone.now, - granted_token: SecureRandom.uuid, - created_at: Time.zone.now, - updated_at: Time.zone.now, - requesting_issuer: nil, - ) - end - let(:job_analytics) { FakeAnalytics.new } - let(:now) { Time.zone.now } - - before do - allow(IdentityConfig.store).to receive(:account_reset_token_valid_for_days) - .and_return(0) - allow(Analytics).to receive(:new).and_return(job_analytics) - end - - it 'logs the event' do - account_reset_request - - notification_sent = perform - - expect(job_analytics).to have_logged_event( - :account_reset_request_expired, - count: 1, - ) - expect(notification_sent).to eq(1) - end - - it 'updates the request record' do - expect(AccountResetRequest.count).to be(0) - - account_reset_request - - expect(AccountResetRequest.count).to be(2) - - perform - - expect(AccountResetRequest.first.cancelled_at).to_not be(nil) - end - end -end