From 66fcdd23dab9f4a611bbb2d6c0ff27ed3846a8ee Mon Sep 17 00:00:00 2001 From: Justin Hart Date: Mon, 19 Aug 2024 11:15:33 -0700 Subject: [PATCH] narrower, fix some compat issues --- .github/workflows/ruby.yml | 18 +++++++++--------- Gemfile | 2 +- test/delayed_queue_test.rb | 16 ++++++++++++---- test/resque-web_test.rb | 4 ++-- test/scheduler_test.rb | 1 + 5 files changed, 25 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 4c5c8509..a90aa2cf 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -32,22 +32,22 @@ jobs: matrix: ruby-version: - "3.0" - - "3.1" - - "3.2" - - "3.3" + # - "3.1" + # - "3.2" + # - "3.3" resque-version: - - "master" - - "~> 2.6" + # - "master" + # - "~> 2.6" - "~> 1.27" rufus-scheduler: - - "~> 3.6.0" - - "~> 3.7.0" + # - "~> 3.6.0" + # - "~> 3.7.0" - "~> 3.8.0" - "~> 3.9" redis-version: - "~> 3.3" - "~> 4.8" - - "~> 5.2" + # - "~> 5.2" exclude: - resque-version: "~> 1.27" redis-version: "~> 5.x" @@ -57,7 +57,7 @@ jobs: RUFUS_SCHEDULER: "${{ matrix.rufus-scheduler }}" COVERAGE: 1 - name: "ruby: ${{matrix.ruby-version}}, resque ${{matrix.resque-version}}, rufus-scheduler ${{matrix.rufus-scheduler}}, redis-rb ${{matrix.redis-version}}" + name: "ruby ${{matrix.ruby-version}}, resque ${{matrix.resque-version}}, rufus-scheduler ${{matrix.rufus-scheduler}}, redis-rb ${{matrix.redis-version}}" steps: - uses: actions/checkout@v4 diff --git a/Gemfile b/Gemfile index a75d5c83..38ce455a 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ # vim:fileencoding=utf-8 source 'https://rubygems.org' -case resque_version = ENV.fetch('RESQUE', 'master') +case resque_version = ENV.fetch('RESQUE', 'latest') when 'master' gem 'resque', git: 'https://github.com/resque/resque' when 'latest' diff --git a/test/delayed_queue_test.rb b/test/delayed_queue_test.rb index abd4c06d..66ca662a 100644 --- a/test/delayed_queue_test.rb +++ b/test/delayed_queue_test.rb @@ -1,6 +1,14 @@ # vim:fileencoding=utf-8 require_relative 'test_helper' +def assert_resque_key_exists?(key) + if Gem::Requirement.create('< 4').satisfied_by?(Gem::Version.create(Redis::VERSION)) + assert(!Resque.redis.exists(key)) + else + assert(!Resque.redis.exists?(key)) + end +end + context 'DelayedQueue' do setup do Resque::Scheduler.quiet = true @@ -41,7 +49,7 @@ 'Should have the same arguments that we queued') # And now confirm the keys are gone - assert(!Resque.redis.exists?("delayed:#{timestamp.to_i}")) + assert_resque_key_exists?("delayed:#{timestamp.to_i}") assert_equal(0, Resque.redis.zcard(:delayed_queue_schedule), 'delayed queue should be empty') assert_equal(0, Resque.redis.scard("timestamps:#{encoded_job}"), @@ -84,7 +92,7 @@ 'Should have the queue that we asked for') # And now confirm the keys are gone - assert(!Resque.redis.exists?("delayed:#{timestamp.to_i}")) + assert_resque_key_exists?("delayed:#{timestamp.to_i}") assert_equal(0, Resque.redis.zcard(:delayed_queue_schedule), 'delayed queue should be empty') assert_equal(0, Resque.redis.scard("timestamps:#{encoded_job}"), @@ -1053,7 +1061,7 @@ assert_equal( 1, Resque.remove_delayed_job_from_timestamp(t, SomeIvarJob, 'foo') ) - assert !Resque.redis.exists?("delayed:#{t.to_i}") + assert_resque_key_exists?("delayed:#{t.to_i}") assert Resque.delayed_queue_peek(0, 100).empty? end @@ -1094,7 +1102,7 @@ Resque.enqueue_at(timestamp, SomeIvarJob, 'foo', 'bar') assert_equal 0, Resque.count_all_scheduled_jobs - assert !Resque.redis.exists?("delayed:#{timestamp.to_i}") + assert_resque_key_exists?("delayed:#{timestamp.to_i}") ensure Resque.inline = false end diff --git a/test/resque-web_test.rb b/test/resque-web_test.rb index 7ec1b7c3..b2839e2b 100644 --- a/test/resque-web_test.rb +++ b/test/resque-web_test.rb @@ -307,7 +307,7 @@ module Test test 'redirects to overview' do post '/delayed/cancel_now' assert last_response.status == 302 - assert last_response.header['Location'].include? '/delayed' + assert last_response.headers['Location'].include? '/delayed' end end @@ -316,7 +316,7 @@ module Test test 'redirects to delayed' do assert last_response.status == 302 - assert last_response.header['Location'].include? '/delayed' + assert last_response.headers['Location'].include? '/delayed' end end diff --git a/test/scheduler_test.rb b/test/scheduler_test.rb index ab47461d..d7a4208d 100644 --- a/test/scheduler_test.rb +++ b/test/scheduler_test.rb @@ -1,5 +1,6 @@ # vim:fileencoding=utf-8 require_relative 'test_helper' +require 'ostruct' context 'Resque::Scheduler' do setup do