2021-04-17 20:07:23 +05:30
|
|
|
# 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)
|
|
|
|
|
2021-06-08 01:23:25 +05:30
|
|
|
expect(exception.message).to eql("TestSizeLimiterWorker job exceeds payload size limit")
|
2021-04-17 20:07:23 +05:30
|
|
|
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
|