summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/sidekiq_middleware/size_limiter/exceed_limit_error_spec.rb
blob: 75b1d9fd87ea8f6e3af61ca68bd728c370948b50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Gitlab::SidekiqMiddleware::SizeLimiter::ExceedLimitError do
  let(:worker_class) do
    Class.new do
      def self.name
        "TestSizeLimiterWorker"
      end

      include ApplicationWorker

      def perform(*args); end
    end
  end

  before do
    stub_const("TestSizeLimiterWorker", worker_class)
  end

  it 'encapsulates worker info' do
    exception = described_class.new(TestSizeLimiterWorker, 500, 300)

    expect(exception.message).to eql("TestSizeLimiterWorker job exceeds payload size limit (500/300)")
    expect(exception.worker_class).to eql(TestSizeLimiterWorker)
    expect(exception.size).to be(500)
    expect(exception.size_limit).to be(300)
    expect(exception.sentry_extra_data).to eql(
      worker_class: 'TestSizeLimiterWorker',
      size: 500,
      size_limit: 300
    )
  end
end