Update sidekiq-cron to at least 1.3.0
Part of #369392 (closed).
sidekiq-cron 1.2.0, which we are currently using, did not test against Ruby 3. I am able to run the tests locally using this version, with some changes to lock dependencies to the versions we also use:
sidekiq-cron test run
diff --git a/Gemfile b/Gemfile
index 1b50fb4..fa75df1 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,32 +1,3 @@
source 'https://rubygems.org'
-gem 'sidekiq', '>= 4.2.1'
-gem 'fugit', '~> 1.1'
-
-group :development do
- gem 'bundler'
- gem 'simplecov'
-
- gem 'redis-namespace', '>= 1.5.2'
- gem 'shoulda-context'
-
- gem 'rack'
- gem 'rack-test'
-
- gem 'jeweler'
-
- gem 'minitest'
- gem 'test-unit'
- gem 'sdoc' # sdoc -N .
-
- gem 'slim'
- gem 'sinatra'
-
- gem 'mocha'
- gem 'coveralls'
-
- gem 'shotgun'
-
- gem 'guard'
- gem 'guard-minitest'
-end
+gemspec
diff --git a/sidekiq-cron.gemspec b/sidekiq-cron.gemspec
index e9bede8..252386a 100644
--- a/sidekiq-cron.gemspec
+++ b/sidekiq-cron.gemspec
@@ -64,10 +64,11 @@ Gem::Specification.new do |s|
s.specification_version = 4
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
- s.add_runtime_dependency(%q<sidekiq>.freeze, [">= 4.2.1"])
+ s.add_runtime_dependency(%q<sidekiq>.freeze, ["= 6.4.0"])
s.add_runtime_dependency(%q<fugit>.freeze, ["~> 1.1"])
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
+ s.add_development_dependency(%q<redis>.freeze, ["= 4.7.1"])
s.add_development_dependency(%q<redis-namespace>.freeze, [">= 1.5.2"])
s.add_development_dependency(%q<shoulda-context>.freeze, [">= 0"])
s.add_development_dependency(%q<rack>.freeze, [">= 0"])
@@ -126,4 +127,3 @@ Gem::Specification.new do |s|
s.add_dependency(%q<guard-minitest>.freeze, [">= 0"])
end
end
-
diff --git a/test/test_helper.rb b/test/test_helper.rb
index 8f8ce51..352e7f9 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -8,14 +8,14 @@ rescue Bundler::BundlerError => e
exit e.status_code
end
-require 'simplecov'
-SimpleCov.start do
- add_filter "/test/"
-
- add_group 'SidekiqCron', 'lib/'
-end
-require 'coveralls'
-Coveralls.wear!
+# require 'simplecov'
+# SimpleCov.start do
+# add_filter "/test/"
+
+# add_group 'SidekiqCron', 'lib/'
+# end
+# require 'coveralls'
+# Coveralls.wear!
require "minitest/autorun"
require 'shoulda-context'
I've removed some web tests as they were updated in https://github.com/ondrejbartas/sidekiq-cron/pull/314 and we don't use that feature. Even then, I still get these failures:
1) Failure:
Cron Job::destroy#test_0002_return false on destroying nonexisting [/home/smcgivern/forks/sidekiq-cron/test/unit/job_test.rb:783]:
Expected true to not be truthy.
2) Failure:
Cron Poller#test_0004_should enqueue both jobs but only one time each [/home/smcgivern/forks/sidekiq-cron/test/unit/poller_test.rb:116]:
Expected: 0
Actual: 1
3) Failure:
Cron Poller#test_0003_should enqueue both jobs [/home/smcgivern/forks/sidekiq-cron/test/unit/poller_test.rb:91]:
Expected: 0
Actual: 1
4) Failure:
Cron Job::nonexisting job#test_0001_not be found [/home/smcgivern/forks/sidekiq-cron/test/unit/job_test.rb:585]:
should return nil
90 runs, 191 assertions, 4 failures, 0 errors, 0 skips
I get these failures on both Ruby 3 and Ruby 2.7, but it is probably prudent to update the gem to a version which explicitly supports Ruby 3 anyway.
The minimal update would be 1.3.0. The maximal one would be 1.7.0, but we'd need to check https://github.com/ondrejbartas/sidekiq-cron/issues/350 first.
Edited by Sean McGivern