test: migrate OpenTelemetry ORM identities to real models (#40663)

This commit is contained in:
Asuka Minato 2026-08-13 05:17:53 +00:00 committed by GitHub
parent 190780e125
commit 7e3381e8ad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 19 deletions

View File

@ -7,7 +7,7 @@ Provides:
- Test data factories
"""
from unittest.mock import MagicMock, create_autospec
from unittest.mock import MagicMock
import pytest
from opentelemetry.sdk.trace import TracerProvider
@ -15,6 +15,8 @@ from opentelemetry.sdk.trace.export import SimpleSpanProcessor
from opentelemetry.sdk.trace.export.in_memory_span_exporter import InMemorySpanExporter
from opentelemetry.trace import set_tracer_provider
from models import Account, App, EndUser
@pytest.fixture
def memory_span_exporter():
@ -42,31 +44,22 @@ def tracer_provider_with_memory_exporter(memory_span_exporter):
@pytest.fixture
def mock_app_model():
"""Create a mock App model."""
app = MagicMock()
app.id = "test-app-id"
app.tenant_id = "test-tenant-id"
return app
"""Create a real transient App model."""
return App(id="test-app-id", tenant_id="test-tenant-id")
@pytest.fixture
def mock_account_user():
"""Create a mock Account user."""
from models.model import Account
user = create_autospec(Account, instance=True)
"""Create a real transient Account user."""
user = Account(name="Test User", email="otel@example.com")
user.id = "test-user-id"
return user
@pytest.fixture
def mock_end_user():
"""Create a mock EndUser."""
from models.model import EndUser
user = create_autospec(EndUser, instance=True)
user.id = "test-end-user-id"
return user
"""Create a real transient EndUser."""
return EndUser(id="test-end-user-id", tenant_id="test-tenant-id")
@pytest.fixture

View File

@ -5,6 +5,13 @@ from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from core.logging.context import clear_request_context
from models import Account
def _user() -> Account:
user = Account(name="Test User", email="otel@example.com")
user.id = "user-id"
return user
@pytest.fixture(autouse=True)
@ -19,7 +26,7 @@ def test_on_user_loaded_does_not_write_to_non_recording_span() -> None:
span = mock.MagicMock()
span.is_recording.return_value = False
user = mock.Mock(id="user-id")
user = _user()
with (
mock.patch.object(runtime.dify_config, "ENABLE_OTEL", True),
@ -39,7 +46,7 @@ def test_on_user_loaded_sets_attributes_on_recording_span() -> None:
span = mock.MagicMock()
span.is_recording.return_value = True
user = mock.Mock(id="user-id")
user = _user()
with (
mock.patch.object(runtime.dify_config, "ENABLE_OTEL", True),
@ -62,7 +69,7 @@ def test_on_user_loaded_ignores_ended_sdk_span(caplog) -> None:
tracer_provider = TracerProvider()
span = tracer_provider.get_tracer(__name__).start_span("ended")
span.end()
user = mock.Mock(id="user-id")
user = _user()
with (
trace.use_span(span, end_on_exit=False),