diff --git a/app/services/check_domain_processor.rb b/app/services/check_domain_processor.rb index 8afc7d1..9c11112 100644 --- a/app/services/check_domain_processor.rb +++ b/app/services/check_domain_processor.rb @@ -6,10 +6,6 @@ class CheckDomainProcessor protected - def configuration_key - "checks_domain" - end - def resolvers %i[ resolve_last_run_failed diff --git a/app/services/check_processor.rb b/app/services/check_processor.rb index 37226b5..9b5a5f9 100644 --- a/app/services/check_processor.rb +++ b/app/services/check_processor.rb @@ -4,11 +4,13 @@ module CheckProcessor attr_reader :configuration - def initialize(configuration = nil) - @configuration = configuration || default_configuration + def initialize(configuration:, logger: NullLogger.new) + @logger = logger + @configuration = configuration end def sync_dates + @sync_started_at = Time.now resolvers.each do |resolver| public_send(resolver).find_each(batch_size: 100).each do |check| process(check) @@ -16,6 +18,7 @@ module CheckProcessor sleep configuration.interval end end + @sync_finished_at = Time.now end # :nocov: @@ -65,15 +68,5 @@ module CheckProcessor def process(_check) fail NotImplementedError, "#{self.class.name} did not implemented method #{__callee__}" end - - def configuration_key - fail NotImplementedError, "#{self.class.name} did not implemented method #{__callee__}" - end # :nocov: - - private - - def default_configuration - Rails.configuration.chexpire.fetch(configuration_key) - end end diff --git a/app/services/check_ssl_processor.rb b/app/services/check_ssl_processor.rb index bc75102..764ea98 100644 --- a/app/services/check_ssl_processor.rb +++ b/app/services/check_ssl_processor.rb @@ -6,10 +6,6 @@ class CheckSSLProcessor protected - def configuration_key - "checks_ssl" - end - def resolvers %i[ resolve_all diff --git a/lib/tasks/checks.rake b/lib/tasks/checks.rake index 9556f49..9eb409a 100644 --- a/lib/tasks/checks.rake +++ b/lib/tasks/checks.rake @@ -7,13 +7,17 @@ namespace :checks do desc "Refresh domains expiry dates" task domain: :environment do - process = CheckDomainProcessor.new + configuration = Rails.configuration.chexpire.fetch("checks_domain") + + process = CheckDomainProcessor.new(configuration: configuration) process.sync_dates end desc "Refresh SSL expiry dates" task ssl: :environment do - process = CheckSSLProcessor.new + configuration = Rails.configuration.chexpire.fetch("checks_ssl") + + process = CheckSSLProcessor.new(configuration: configuration) process.sync_dates end end diff --git a/test/services/check_domain_processor_test.rb b/test/services/check_domain_processor_test.rb index c9801e4..65281d3 100644 --- a/test/services/check_domain_processor_test.rb +++ b/test/services/check_domain_processor_test.rb @@ -5,7 +5,8 @@ require "test_helper" class CheckDomainProcessorTest < ActiveSupport::TestCase setup do - @processor = CheckDomainProcessor.new + configuration = Rails.configuration.chexpire.fetch("checks_domain") + @processor = CheckDomainProcessor.new(configuration: configuration) end test "process WhoisSyncJob for domain checks" do diff --git a/test/services/check_processor_test.rb b/test/services/check_processor_test.rb index 876f8d5..8f8694f 100644 --- a/test/services/check_processor_test.rb +++ b/test/services/check_processor_test.rb @@ -9,10 +9,6 @@ class CheckDummyProcessor base_scope end - def configuration_key - "checks_dummy" - end - def resolvers %i[ resolve_expire_short_term @@ -23,7 +19,8 @@ end class CheckProcessorTest < ActiveSupport::TestCase setup do - @processor = CheckDummyProcessor.new + configuration = Rails.configuration.chexpire.fetch("checks_dummy") + @processor = CheckDummyProcessor.new(configuration: configuration) end test "resolve_last_run_failed includes already and never succeeded" do @@ -119,7 +116,7 @@ class CheckProcessorTest < ActiveSupport::TestCase configuration.expect(:interval, 0.000001) end - processor = CheckDummyProcessor.new(configuration) + processor = CheckDummyProcessor.new(configuration: configuration) mock = Minitest::Mock.new assert_stub = lambda { |actual_time| diff --git a/test/services/check_ssl_processor_test.rb b/test/services/check_ssl_processor_test.rb index 8075382..51a71bf 100644 --- a/test/services/check_ssl_processor_test.rb +++ b/test/services/check_ssl_processor_test.rb @@ -5,7 +5,8 @@ require "test_helper" class CheckSSLProcessorTest < ActiveSupport::TestCase setup do - @processor = CheckSSLProcessor.new + configuration = Rails.configuration.chexpire.fetch("checks_ssl") + @processor = CheckSSLProcessor.new(configuration: configuration) end test "process SSLSyncJob for ssl checks" do