Skip to content

Commit b2358eb

Browse files
committed
fix re-enabling enabled integration
1 parent 1ba998a commit b2358eb

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

sentry_sdk/integrations/__init__.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -282,11 +282,14 @@ def setup_integrations(
282282

283283
def _enable_integration(integration: "Integration") -> "Optional[Integration]":
284284
with _installer_lock:
285-
if integration.identifier in _installed_integrations:
286-
return integration
287-
288285
client = sentry_sdk.get_client()
289286

287+
if (
288+
integration.identifier in _installed_integrations
289+
and integration.identifier in client.integrations
290+
):
291+
return client.integrations[integration.identifier]
292+
290293
logger.debug(
291294
"Setting up previously not enabled integration %s", integration.identifier
292295
)

tests/test_basics.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,13 +1005,15 @@ def test_enable_integration(sentry_init):
10051005
def test_enable_enabled_integration(sentry_init):
10061006
from sentry_sdk.integrations.gnu_backtrace import GnuBacktraceIntegration
10071007

1008-
sentry_init(integrations=[GnuBacktraceIntegration()])
1008+
integration = GnuBacktraceIntegration()
1009+
sentry_init(integrations=[integration])
10091010

10101011
assert "gnu_backtrace" in get_client().integrations
10111012

10121013
# Second call should not raise or cause issues
10131014
sentry_sdk.enable_integration(GnuBacktraceIntegration())
10141015
assert "gnu_backtrace" in get_client().integrations
1016+
assert get_client().integrations["gnu_backtrace"] == integration
10151017

10161018

10171019
def test_enable_integration_twice(sentry_init):
@@ -1021,12 +1023,14 @@ def test_enable_integration_twice(sentry_init):
10211023

10221024
assert "gnu_backtrace" not in get_client().integrations
10231025

1024-
sentry_sdk.enable_integration(GnuBacktraceIntegration())
1026+
integration = GnuBacktraceIntegration()
1027+
sentry_sdk.enable_integration(integration)
10251028
assert "gnu_backtrace" in get_client().integrations
10261029

10271030
# Second call should not raise or cause issues
10281031
sentry_sdk.enable_integration(GnuBacktraceIntegration())
10291032
assert "gnu_backtrace" in get_client().integrations
1033+
assert get_client().integrations["gnu_backtrace"] == integration
10301034

10311035

10321036
def test_enable_integration_did_not_enable(sentry_init):

0 commit comments

Comments
 (0)