diff --git a/Gemfile b/Gemfile index f471e3b7..bcd4f422 100644 --- a/Gemfile +++ b/Gemfile @@ -20,6 +20,7 @@ gem "json-jwt" gem "notifications-ruby-client" gem "openid_connect" gem "pg" +gem "redis" gem "sentry-sidekiq" # https://github.com/moove-it/sidekiq-scheduler/issues/345 diff --git a/Gemfile.lock b/Gemfile.lock index d00e36d8..8c449603 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -208,12 +208,11 @@ GEM govuk_schemas (5.0.4) faker (~> 3.4.1) json-schema (>= 2.8, < 4.4) - govuk_sidekiq (8.0.1) + govuk_sidekiq (9.0.4) gds-api-adapters (>= 19.1.0) govuk_app_config (>= 1.1) - redis (< 5) - redis-namespace (~> 1.6) - sidekiq (~> 6.5, >= 6.5.12) + redis-client (>= 0.22.2) + sidekiq (~> 7.0, < 8) govuk_test (4.1.0) brakeman (>= 5.0.2) capybara (>= 3.36) @@ -274,7 +273,7 @@ GEM mime-types (3.6.0) logger mime-types-data (~> 3.2015) - mime-types-data (3.2024.1203) + mime-types-data (3.2025.0107) mini_mime (1.1.5) mini_portile2 (2.8.8) minitest (5.25.4) @@ -654,9 +653,10 @@ GEM ffi (~> 1.0) rdoc (6.11.0) psych (>= 4.0.0) - redis (4.8.1) - redis-namespace (1.11.0) - redis (>= 4) + redis (5.3.0) + redis-client (>= 0.22.0) + redis-client (0.23.2) + connection_pool regexp_parser (2.10.0) reline (0.6.0) io-console (~> 0.5) @@ -742,10 +742,12 @@ GEM sidekiq (>= 3.0) shoulda-matchers (6.4.0) activesupport (>= 5.2.0) - sidekiq (6.5.12) - connection_pool (>= 2.2.5, < 3) - rack (~> 2.0) - redis (>= 4.5.0, < 5) + sidekiq (7.3.8) + base64 + connection_pool (>= 2.3.0) + logger + rack (>= 2.2.4) + redis-client (>= 0.22.2) sidekiq-scheduler (5.0.6) rufus-scheduler (~> 3.2) sidekiq (>= 6, < 8) @@ -851,6 +853,7 @@ DEPENDENCIES pry-byebug pry-rails rails (= 8.0.1) + redis rspec-rails rubocop-govuk sentry-sidekiq diff --git a/app/models/unmigrated_oidc_user.rb b/app/models/unmigrated_oidc_user.rb deleted file mode 100644 index 3aec05eb..00000000 --- a/app/models/unmigrated_oidc_user.rb +++ /dev/null @@ -1,3 +0,0 @@ -class UnmigratedOidcUser < ApplicationRecord - validates :sub, presence: true -end diff --git a/app/sidekiq/application_job.rb b/app/sidekiq/application_job.rb new file mode 100644 index 00000000..ce95c489 --- /dev/null +++ b/app/sidekiq/application_job.rb @@ -0,0 +1,3 @@ +class ApplicationJob + include Sidekiq::Job +end diff --git a/app/workers/expired_auth_request_worker.rb b/app/sidekiq/expired_auth_request_job.rb similarity index 53% rename from app/workers/expired_auth_request_worker.rb rename to app/sidekiq/expired_auth_request_job.rb index 71a2c277..cf711745 100644 --- a/app/workers/expired_auth_request_worker.rb +++ b/app/sidekiq/expired_auth_request_job.rb @@ -1,4 +1,4 @@ -class ExpiredAuthRequestWorker < ApplicationWorker +class ExpiredAuthRequestJob < ApplicationJob def perform AuthRequest.expired.delete_all end diff --git a/app/workers/expired_sensitive_exception_worker.rb b/app/sidekiq/expired_sensitive_exception_job.rb similarity index 53% rename from app/workers/expired_sensitive_exception_worker.rb rename to app/sidekiq/expired_sensitive_exception_job.rb index 16782cdf..1242fea3 100644 --- a/app/workers/expired_sensitive_exception_worker.rb +++ b/app/sidekiq/expired_sensitive_exception_job.rb @@ -1,4 +1,4 @@ -class ExpiredSensitiveExceptionWorker < ApplicationWorker +class ExpiredSensitiveExceptionJob < ApplicationJob def perform SensitiveException.expired.delete_all end diff --git a/app/workers/expired_tombstone_worker.rb b/app/sidekiq/expired_tombstone_job.rb similarity index 53% rename from app/workers/expired_tombstone_worker.rb rename to app/sidekiq/expired_tombstone_job.rb index bfcc8a04..964a65d3 100644 --- a/app/workers/expired_tombstone_worker.rb +++ b/app/sidekiq/expired_tombstone_job.rb @@ -1,4 +1,4 @@ -class ExpiredTombstoneWorker < ApplicationWorker +class ExpiredTombstoneJob < ApplicationJob def perform Tombstone.expired.delete_all end diff --git a/app/workers/application_worker.rb b/app/workers/application_worker.rb deleted file mode 100644 index d23cd6f3..00000000 --- a/app/workers/application_worker.rb +++ /dev/null @@ -1,3 +0,0 @@ -class ApplicationWorker - include Sidekiq::Worker -end diff --git a/config/application.rb b/config/application.rb index ad0dc0a8..87aedbfb 100644 --- a/config/application.rb +++ b/config/application.rb @@ -3,7 +3,7 @@ require "rails" # Pick the frameworks you want: require "active_model/railtie" -# require "active_job/railtie" +require "active_job/railtie" require "active_record/railtie" # require "active_storage/engine" require "action_controller/railtie" diff --git a/spec/workers/expired_auth_request_worker_spec.rb b/spec/jobs/expired_auth_request_job_spec.rb similarity index 92% rename from spec/workers/expired_auth_request_worker_spec.rb rename to spec/jobs/expired_auth_request_job_spec.rb index ad1acb0d..63383334 100644 --- a/spec/workers/expired_auth_request_worker_spec.rb +++ b/spec/jobs/expired_auth_request_job_spec.rb @@ -1,4 +1,4 @@ -RSpec.describe ExpiredAuthRequestWorker do +RSpec.describe ExpiredAuthRequestJob do before { freeze_time } it "deletes old state" do diff --git a/spec/workers/expired_sensitive_exception_worker_spec.rb b/spec/jobs/expired_sensitive_exception_job_spec.rb similarity index 91% rename from spec/workers/expired_sensitive_exception_worker_spec.rb rename to spec/jobs/expired_sensitive_exception_job_spec.rb index a3e8ecff..3a1eb938 100644 --- a/spec/workers/expired_sensitive_exception_worker_spec.rb +++ b/spec/jobs/expired_sensitive_exception_job_spec.rb @@ -1,4 +1,4 @@ -RSpec.describe ExpiredSensitiveExceptionWorker do +RSpec.describe ExpiredSensitiveExceptionJob do before { freeze_time } it "deletes old exceptions" do diff --git a/spec/workers/expired_tombstone_worker_spec.rb b/spec/jobs/expired_tombstone_job_spec.rb similarity index 91% rename from spec/workers/expired_tombstone_worker_spec.rb rename to spec/jobs/expired_tombstone_job_spec.rb index 07d68295..7544abf6 100644 --- a/spec/workers/expired_tombstone_worker_spec.rb +++ b/spec/jobs/expired_tombstone_job_spec.rb @@ -1,4 +1,4 @@ -RSpec.describe ExpiredTombstoneWorker do +RSpec.describe ExpiredTombstoneJob do before { freeze_time } it "deletes old tombstones" do diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 62400acb..f8fe2936 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -4,6 +4,7 @@ SimpleCov.start "rails" do enable_coverage :branch minimum_coverage line: 95 + add_filter "lib/tasks/lint.rake" end require File.expand_path("../config/environment", __dir__) @@ -30,7 +31,7 @@ config.before do Rails.application.load_seed - Sidekiq::Worker.clear_all + Sidekiq::Job.clear_all end config.include ActiveSupport::Testing::TimeHelpers