Skip to content

Commit cfcd5b1

Browse files
test: Remove Hub usage in conftest
1 parent c359c82 commit cfcd5b1

File tree

5 files changed

+26
-8
lines changed

5 files changed

+26
-8
lines changed

tests/conftest.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -186,19 +186,22 @@ def reset_integrations():
186186
@pytest.fixture
187187
def sentry_init(request):
188188
def inner(*a, **kw):
189-
hub = sentry_sdk.Hub.current
190189
kw.setdefault("transport", TestTransport())
191190
client = sentry_sdk.Client(*a, **kw)
192-
hub.bind_client(client)
191+
sentry_sdk.Scope.get_global_scope().set_client(client)
193192

194193
if request.node.get_closest_marker("forked"):
195194
# Do not run isolation if the test is already running in
196195
# ultimate isolation (seems to be required for celery tests that
197196
# fork)
198197
yield inner
199198
else:
200-
with sentry_sdk.Hub(None):
199+
old_client = sentry_sdk.Scope.get_global_scope().client
200+
try:
201+
sentry_sdk.Scope.get_current_scope().set_client(None)
201202
yield inner
203+
finally:
204+
sentry_sdk.Scope.get_global_scope().set_client(old_client)
202205

203206

204207
class TestTransport(Transport):
@@ -214,7 +217,7 @@ def capture_envelope(self, _: Envelope) -> None:
214217
def capture_events(monkeypatch):
215218
def inner():
216219
events = []
217-
test_client = sentry_sdk.Hub.current.client
220+
test_client = sentry_sdk.get_client()
218221
old_capture_envelope = test_client.transport.capture_envelope
219222

220223
def append_event(envelope):
@@ -234,7 +237,7 @@ def append_event(envelope):
234237
def capture_envelopes(monkeypatch):
235238
def inner():
236239
envelopes = []
237-
test_client = sentry_sdk.Hub.current.client
240+
test_client = sentry_sdk.get_client()
238241
old_capture_envelope = test_client.transport.capture_envelope
239242

240243
def append_envelope(envelope):
@@ -274,7 +277,7 @@ def inner():
274277
events_r = os.fdopen(events_r, "rb", 0)
275278
events_w = os.fdopen(events_w, "wb", 0)
276279

277-
test_client = sentry_sdk.Hub.current.client
280+
test_client = sentry_sdk.get_client()
278281

279282
old_capture_envelope = test_client.transport.capture_envelope
280283

tests/new_scopes_compat/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
"""
2+
Separate module for tests that check backwards compatibility of the Hub API with 1.x.
3+
These tests should be removed once we remove the Hub API, likely in the next major.
4+
5+
All tests in this module are run with hub isolation, provided by `isolate_hub` autouse
6+
fixture, defined in `conftest.py`.
7+
"""

tests/new_scopes_compat/conftest.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import pytest
2+
import sentry_sdk
3+
4+
5+
@pytest.fixture(autouse=True)
6+
def isolate_hub():
7+
with sentry_sdk.Hub(None):
8+
yield

tests/test_new_scopes_compat_event.py renamed to tests/new_scopes_compat/test_new_scopes_compat_event.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ def create_expected_error_event(trx, span):
3232
"stacktrace": {
3333
"frames": [
3434
{
35-
"filename": "tests/test_new_scopes_compat_event.py",
35+
"filename": "tests/new_scopes_compat/test_new_scopes_compat_event.py",
3636
"abs_path": mock.ANY,
3737
"function": "_faulty_function",
38-
"module": "tests.test_new_scopes_compat_event",
38+
"module": "tests.new_scopes_compat.test_new_scopes_compat_event",
3939
"lineno": mock.ANY,
4040
"pre_context": [
4141
" return create_expected_transaction_event",

0 commit comments

Comments
 (0)