|
265 | 265 | end
|
266 | 266 | end
|
267 | 267 |
|
| 268 | + describe "failed to perform the network request" do |
| 269 | + it "does not report Net::HTTP errors to Sentry" do |
| 270 | + allow(::Net::HTTP).to receive(:new).and_raise(Errno::ECONNREFUSED) |
| 271 | + expect do |
| 272 | + subject.send_data(data) |
| 273 | + end.to raise_error(Sentry::ExternalError) |
| 274 | + end |
| 275 | + |
| 276 | + it "does not report SocketError errors to Sentry" do |
| 277 | + allow(::Net::HTTP).to receive(:new).and_raise(SocketError.new("socket error")) |
| 278 | + expect do |
| 279 | + subject.send_data(data) |
| 280 | + end.to raise_error(Sentry::ExternalError) |
| 281 | + end |
| 282 | + |
| 283 | + it "reports other errors to Sentry if they are not recognized" do |
| 284 | + allow(::Net::HTTP).to receive(:new).and_raise(StandardError.new("Booboo")) |
| 285 | + expect do |
| 286 | + subject.send_data(data) |
| 287 | + end.to raise_error(StandardError, /Booboo/) |
| 288 | + end |
| 289 | + end |
| 290 | + |
268 | 291 | describe "failed request handling" do
|
269 | 292 | context "receive 4xx responses" do
|
270 | 293 | let(:fake_response) { build_fake_response("404") }
|
271 | 294 |
|
272 |
| - it 'raises an error' do |
| 295 | + it "raises an error" do |
273 | 296 | stub_request(fake_response)
|
274 | 297 |
|
275 | 298 | expect { subject.send_data(data) }.to raise_error(Sentry::ExternalError, /the server responded with status 404/)
|
|
279 | 302 | context "receive 5xx responses" do
|
280 | 303 | let(:fake_response) { build_fake_response("500") }
|
281 | 304 |
|
282 |
| - it 'raises an error' do |
| 305 | + it "raises an error" do |
283 | 306 | stub_request(fake_response)
|
284 | 307 |
|
285 | 308 | expect { subject.send_data(data) }.to raise_error(Sentry::ExternalError, /the server responded with status 500/)
|
|
291 | 314 | build_fake_response("500", headers: { 'x-sentry-error' => 'error_in_header' })
|
292 | 315 | end
|
293 | 316 |
|
294 |
| - it 'raises an error with header' do |
| 317 | + it "raises an error with header" do |
295 | 318 | stub_request(error_response)
|
296 | 319 |
|
297 | 320 | expect { subject.send_data(data) }.to raise_error(Sentry::ExternalError, /error_in_header/)
|
|
0 commit comments