Sha256: e2719693090fde4144e3fa5911f8d05e56a836481d8bf978402b6de930e2ef30

Contents?: true

Size: 1.7 KB

Versions: 7

Compression:

Stored size: 1.7 KB

Contents

require 'spec_helper'
require 'sidekiq'
require 'liveqa/plugins/sidekiq/server_middleware'

describe LiveQA::Plugins::Sidekiq::ServerMiddleware do

  let(:middleware) { LiveQA::Plugins::Sidekiq::ServerMiddleware.new }

  describe '#call' do
    let(:job_attr) {{
       'class' => 'MyWorker',
       'args' => ['42'],
       'retry' => 3,
       'queue' => 'default',
       'jid' => '24cc849f71325b62ef470901',
       'created_at' => 1513299839.2563882,
       'liveqa_session_tracker_id' => '06a09f70-6219-4860-babc-18aa47a62f7f',
       'enqueued_at' => 1513300328.8271549,
       'error_message' => 'exit',
       'error_class' => 'SystemExit',
       'failed_at' => 1513300166.646098,
       'retry_count' => 1,
       'retried_at' => 1513300238.6037261
    }}

    context 'expected to be clean at the end' do
      before { middleware.call('MyWorker', job_attr, 'default') {} }

      it { expect(LiveQA::Store.store).to be_empty }
    end

    context 'expected to be clean at the end' do
      before { allow(LiveQA::Store).to receive(:clear!).and_return(true) }
      before { middleware.call('MyWorker', job_attr, 'default') {} }

      let(:expected) {{
        session_tracker_id: '06a09f70-6219-4860-babc-18aa47a62f7f',
        worker:  {
          name: 'sidekiq',
          version: kind_of(String),
          queue: 'default',
          class: 'MyWorker',
          id: '24cc849f71325b62ef470901',
          created_at: '2017-12-15T01:03:59.256Z',
          process_at: '2017-12-15T01:12:08.827Z',
          args: ['42'],
          retried: true,
          retry_number: 1,
          failed_at: '2017-12-15T01:09:26.646Z'
        },
      }}

      it { expect(LiveQA::Store.store).to match(expected) }
    end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
liveqa-1.9.5 spec/lib/liveqa/plugins/sidekiq/server_middleware_spec.rb
liveqa-1.9.4 spec/lib/liveqa/plugins/sidekiq/server_middleware_spec.rb
liveqa-1.9.3 spec/lib/liveqa/plugins/sidekiq/server_middleware_spec.rb
liveqa-1.9.2 spec/lib/liveqa/plugins/sidekiq/server_middleware_spec.rb
liveqa-1.9.1 spec/lib/liveqa/plugins/sidekiq/server_middleware_spec.rb
liveqa-1.9.0 spec/lib/liveqa/plugins/sidekiq/server_middleware_spec.rb
liveqa-1.8.3 spec/lib/liveqa/plugins/sidekiq/server_middleware_spec.rb