[FIX] sentry: test failure due to incomplete transport init

The test code uses a "mock" Transport object to ensure that events are
stored locally in memory, instead of triggering network requests.

The Sentry client is cleaned up once done, and this triggers a call to
capture_envelope, a different way of sending events to Sentry. Since
our mock class did not fully complete initialization, and also did
not provide an overriding method, the original was called, which
depends on proper initialization to work.

We introduce an override for capture_envelope: as it is meant to be
a "sibling" to capture_event, it makes sense for us to also make sure
events registrered in this way are intercepted, even if we don't
currently expect any of our tests to explicitly cause it to be used.
pull/2516/head
Atte Isopuro 2022-10-17 14:05:44 +03:00 committed by prabakaran
parent 1e89e34392
commit 13868c7502
1 changed files with 4 additions and 0 deletions

View File

@ -36,10 +36,14 @@ class InMemoryTransport(HttpTransport):
def __init__(self, *args, **kwargs):
self.events = []
self.envelopes = []
def capture_event(self, event, *args, **kwargs):
self.events.append(event)
def capture_envelope(self, envelope, *args, **kwargs):
self.envelopes.append(envelope)
def has_event(self, event_level, event_msg):
for event in self.events:
if (