Sha256: 254b88cf0ef34ff0d890166ae9ffde264098e03ba546ee6bc52d69cd5bcb9f3c

Contents?: true

Size: 1.75 KB

Versions: 1

Compression:

Stored size: 1.75 KB

Contents

require 'spec_helper'
require 'sidekiq'
require 'hawkei/plugins/sidekiq/server_middleware'

describe Hawkei::Plugins::Sidekiq::ServerMiddleware do

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

  describe '#call' do
    let(:job_attr) {{
       'class' => 'MyWorker',
       'args' => ['42'],
       'retry' => 3,
       'queue' => 'default',
       'jid' => '24cc849f71325b62ef470901',
       'created_at' => 1513299839.2563882,
       '_hawkei_stid' => '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(Hawkei::Store.store).to be_empty }
    end

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

      let(:expected) {{
        session_tracker_id: '06a09f70-6219-4860-babc-18aa47a62f7f',
        server_software: include("Sidekiq"),
        auto_id: nil,
        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(Hawkei::Store.store).to match(expected) }
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hawkei-1.1.0 spec/lib/hawkei/plugins/sidekiq/server_middleware_spec.rb