Skip to content

Commit 030da10

Browse files
authored
Merge pull request #269 from North-Two-Five/Issue-268-Raise-Error
Push raising error message
2 parents 8efb707 + ee68d65 commit 030da10

File tree

4 files changed

+9
-3
lines changed

4 files changed

+9
-3
lines changed

.github/workflows/gem-push.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
packages: write
1616

1717
steps:
18-
- uses: actions/checkout@v3
18+
- uses: actions/checkout@v4
1919
- name: Set up Ruby
2020
uses: ruby/setup-ruby@v1
2121
with:

.github/workflows/ruby.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
ruby-version: ['2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2']
2323

2424
steps:
25-
- uses: actions/checkout@v3
25+
- uses: actions/checkout@v4
2626
- name: Set up Ruby
2727
uses: ruby/setup-ruby@v1
2828
with:

lib/segment/analytics/message_batch.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def <<(message)
2929
message_json_size = message_json.bytesize
3030
if message_too_big?(message_json_size)
3131
logger.error('a message exceeded the maximum allowed size')
32+
raise JSONGenerationError, 'Message Exceeded Maximum Allowed Size'
3233
else
3334
@messages << message
3435
@json_size += message_json_size + 1 # One byte for the comma

spec/segment/analytics/message_batch_spec.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,21 @@ class Analytics
99

1010
describe '#<<' do
1111
it 'appends messages' do
12+
expect(subject.length).to eq(0)
13+
1214
subject << { 'a' => 'b' }
15+
1316
expect(subject.length).to eq(1)
1417
end
1518

1619
it 'rejects messages that exceed the maximum allowed size' do
1720
max_bytes = Defaults::Message::MAX_BYTES
1821
message = { 'a' => 'b' * max_bytes }
1922

20-
subject << message
2123
expect(subject.length).to eq(0)
24+
25+
expect { subject << message }.to raise_error(MessageBatch::JSONGenerationError)
26+
.with_message('Message Exceeded Maximum Allowed Size')
2227
end
2328
end
2429

0 commit comments

Comments
 (0)