diff --git a/tests/conftest.py b/tests/conftest.py index 118408cfc3..88508dce09 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,6 +9,8 @@ import pytest import jsonschema +from sentry_sdk.integrations.celery import CeleryIntegration + try: import gevent except ImportError: @@ -172,7 +174,7 @@ def reset_integrations(): _processed_integrations.clear() -@pytest.fixture +@pytest.fixture(scope="session") def sentry_init(request): def inner(*a, **kw): hub = sentry_sdk.Hub.current @@ -190,6 +192,15 @@ def inner(*a, **kw): yield inner +@pytest.fixture(scope="session") +def celery_config(sentry_init): + sentry_init(integrations=[CeleryIntegration()], enable_tracing=True) + return { + "broker_backend": "memory://", + "broker_url": "memory://", + } + + class TestTransport(Transport): def __init__(self): Transport.__init__(self) diff --git a/tests/integrations/celery/test_celery.py b/tests/integrations/celery/test_celery.py index 9ac3d2aa7d..fbc7f033d6 100644 --- a/tests/integrations/celery/test_celery.py +++ b/tests/integrations/celery/test_celery.py @@ -616,3 +616,20 @@ def example_task(): pytest.fail("Calling `apply_async` without arguments raised a TypeError") assert result.get() == "success" + + +def test_queue_task_name(capture_events, celery_app, celery_worker): + @celery_app.task(name="dummy_task", bind=True) + def dummy_task(self): + print(self.request) + return 42 + + celery_worker.reload() + events = capture_events() + dummy_task.delay() + + (event,) = events + breakpoint() + (span,) = event["spans"] + + assert span["data"]["messaging.destination.name"] == "celery"