diff --git a/lib/travis/api/v3/query.rb b/lib/travis/api/v3/query.rb index 6266ff8b..6356c15d 100644 --- a/lib/travis/api/v3/query.rb +++ b/lib/travis/api/v3/query.rb @@ -33,12 +33,6 @@ module Travis::API::V3 def perform_async(identifier, *args) Sidekiqs[identifier].perform_async(*args) - # class_name, queue = @@sidekiq_cache[identifier] ||= [ - # "Travis::Sidekiq::#{identifier.to_s.camelcase}".freeze, - # identifier.to_s.pluralize.freeze - # ] - # - # ::Sidekiq::Client.push('queue'.freeze => queue, 'class'.freeze => class_name, 'args'.freeze => args) end def includes?(key) diff --git a/lib/travis/api/v3/sidekiq.rb b/lib/travis/api/v3/sidekiq.rb index 681d5b01..4b231c63 100644 --- a/lib/travis/api/v3/sidekiq.rb +++ b/lib/travis/api/v3/sidekiq.rb @@ -1,8 +1,11 @@ module Travis::API::V3 class Sidekiq - def self.client(value = nil) - @client = value if value - @client ||= defined?(super) ? super : ::Sidekiq::Client.default + def self.client + @client ||= ::Sidekiq::Client + end + + def self.client=(value) + @client = value end attr_accessor :class_name, :queue, :identifier diff --git a/spec/v3/services/requests/create_spec.rb b/spec/v3/services/requests/create_spec.rb index 62b32089..87e7222e 100644 --- a/spec/v3/services/requests/create_spec.rb +++ b/spec/v3/services/requests/create_spec.rb @@ -2,20 +2,16 @@ require 'spec_helper' describe Travis::API::V3::Services::Requests::Create do let(:repo) { Travis::API::V3::Models::Repository.where(owner_name: 'svenfuchs', name: 'minimal').first } - let(:sidekiq_payload) { JSON.load(Sidekiq::Client.last['args'].last[:payload]).deep_symbolize_keys } + let(:sidekiq_requests) { [] } before { repo.requests.each(&:delete) } - before do - Travis::Features.stubs(:owner_active?).returns(true) - @original_sidekiq = Sidekiq::Client - Sidekiq.send(:remove_const, :Client) # to avoid a warning - Sidekiq::Client = [] + let(:sidekiq_payload) do + expect(sidekiq_requests).not_to be_empty, 'expected at least one sidekiq request to be sent, none sent' + JSON.load(sidekiq_requests.last['args'].last[:payload]).deep_symbolize_keys end - after do - Sidekiq.send(:remove_const, :Client) # to avoid a warning - Sidekiq::Client = @original_sidekiq - end + before { Travis::API::V3::Sidekiq.client = sidekiq_requests } + after { Travis::API::V3::Sidekiq.client = nil } describe "not authenticated" do before { post("/v3/repo/#{repo.id}/requests") } @@ -104,8 +100,8 @@ describe Travis::API::V3::Services::Requests::Create do config: {} }} - example { expect(Sidekiq::Client.last['queue']).to be == 'build_requests' } - example { expect(Sidekiq::Client.last['class']).to be == 'Travis::Sidekiq::BuildRequest' } + example { expect(sidekiq_requests.last['queue']).to be == 'build_requests' } + example { expect(sidekiq_requests.last['class']).to be == 'Travis::Sidekiq::BuildRequest' } describe "setting id has no effect" do let(:params) {{ id: 42 }}