Sha256: 40081fd22db0e02f3a1137b7688280f9cb6a8108e15728318c1b1ff270855fb1
Contents?: true
Size: 1.97 KB
Versions: 3
Compression:
Stored size: 1.97 KB
Contents
require 'spec_helper' require 'rollbar/truncation/frames_strategy' describe Rollbar::Truncation::MinBodyStrategy do describe '.call', :fixture => :payload do let(:message) { 'a' * 1_000 } context 'with trace key ' do let(:payload_fixture) { 'payloads/sample.trace.json' } let!(:frames) { payload['data']['body']['trace']['frames'].clone } before do payload['data']['body']['trace']['exception']['message'] = message end it 'truncates the exception message and frames array' do result = Rollbar::JSON.load(described_class.call(payload)) trace = result['data']['body']['trace'] expect(trace['frames']).to have(2).items expect(trace['exception']['message']).to be_eql('a' * 255) end end context 'with trace_chain key ' do let(:payload_fixture) { 'payloads/sample.trace_chain.json' } let!(:frames1) { payload['data']['body']['trace_chain'][0]['frames'].clone } let!(:frames2) { payload['data']['body']['trace_chain'][1]['frames'].clone } before do payload['data']['body']['trace_chain'][0]['exception']['message'] = message payload['data']['body']['trace_chain'][1]['exception']['message'] = message end it 'truncates the exception message and frames array' do result = Rollbar::JSON.load(described_class.call(payload)) traces = result['data']['body']['trace_chain'] expect(traces[0]['frames']).to have(2).items expect(traces[0]['exception']['message']).to be_eql('a' * 255) expect(traces[1]['frames']).to have(2).items expect(traces[1]['exception']['message']).to be_eql('a' * 255) end end context 'with a message payload' do let(:payload_fixture) { 'payloads/sample.trace_chain.json' } it "doesn't truncate anything and returns same payload" do result = Rollbar::JSON.load(described_class.call(payload)) expect(result).to be_eql(payload) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems