refactor(otel): replace Any with Tracer and [T] generics (#34883)

This commit is contained in:
corevibe555
2026-04-10 07:37:14 +00:00
committed by GitHub
parent bcd738d2e6
commit af55665ff2
7 changed files with 56 additions and 66 deletions
@@ -39,7 +39,7 @@ class TestAppGenerateHandler:
"root_node_id": None,
}
arguments = handler._extract_arguments(AppGenerateService.generate, (), kwargs)
arguments = handler._extract_arguments(AppGenerateService.generate, **kwargs)
assert arguments is not None, "Failed to extract arguments from AppGenerateService.generate"
assert "app_model" in arguments, "Handler uses app_model but parameter is missing"
@@ -70,14 +70,11 @@ class TestAppGenerateHandler:
handler.wrapper(
tracer,
dummy_func,
(),
{
"app_model": mock_app_model,
"user": mock_account_user,
"args": {"workflow_id": test_workflow_id},
"invoke_from": InvokeFrom.DEBUGGER,
"streaming": False,
},
app_model=mock_app_model,
user=mock_account_user,
args={"workflow_id": test_workflow_id},
invoke_from=InvokeFrom.DEBUGGER,
streaming=False,
)
spans = memory_span_exporter.get_finished_spans()
@@ -63,7 +63,7 @@ class TestWorkflowAppRunnerHandler:
def runner_run(self):
return "result"
handler.wrapper(tracer, runner_run, (mock_workflow_runner,), {})
handler.wrapper(tracer, runner_run, mock_workflow_runner)
spans = memory_span_exporter.get_finished_spans()
assert len(spans) == 1
@@ -28,7 +28,7 @@ class TestSpanHandlerExtractArguments:
args = (1, 2, 3)
kwargs = {}
result = handler._extract_arguments(func, args, kwargs)
result = handler._extract_arguments(func, *args, **kwargs)
assert result is not None
assert result["a"] == 1
@@ -44,7 +44,7 @@ class TestSpanHandlerExtractArguments:
args = ()
kwargs = {"a": 1, "b": 2, "c": 3}
result = handler._extract_arguments(func, args, kwargs)
result = handler._extract_arguments(func, *args, **kwargs)
assert result is not None
assert result["a"] == 1
@@ -60,7 +60,7 @@ class TestSpanHandlerExtractArguments:
args = (1,)
kwargs = {"b": 2, "c": 3}
result = handler._extract_arguments(func, args, kwargs)
result = handler._extract_arguments(func, *args, **kwargs)
assert result is not None
assert result["a"] == 1
@@ -76,7 +76,7 @@ class TestSpanHandlerExtractArguments:
args = (1,)
kwargs = {}
result = handler._extract_arguments(func, args, kwargs)
result = handler._extract_arguments(func, *args, **kwargs)
assert result is not None
assert result["a"] == 1
@@ -94,7 +94,7 @@ class TestSpanHandlerExtractArguments:
instance = MyClass()
args = (1, 2)
kwargs = {}
result = handler._extract_arguments(instance.method, args, kwargs)
result = handler._extract_arguments(instance.method, *args, **kwargs)
assert result is not None
assert result["a"] == 1
@@ -109,7 +109,7 @@ class TestSpanHandlerExtractArguments:
args = (1,)
kwargs = {}
result = handler._extract_arguments(func, args, kwargs)
result = handler._extract_arguments(func, *args, **kwargs)
assert result is None
@@ -122,11 +122,11 @@ class TestSpanHandlerExtractArguments:
assert func not in handler._signature_cache
handler._extract_arguments(func, (1, 2), {})
handler._extract_arguments(func, 1, 2)
assert func in handler._signature_cache
cached_sig = handler._signature_cache[func]
handler._extract_arguments(func, (3, 4), {})
handler._extract_arguments(func, 3, 4)
assert handler._signature_cache[func] is cached_sig
@@ -142,7 +142,7 @@ class TestSpanHandlerWrapper:
def test_func():
return "result"
result = handler.wrapper(tracer, test_func, (), {})
result = handler.wrapper(tracer, test_func)
assert result == "result"
spans = memory_span_exporter.get_finished_spans()
@@ -159,7 +159,7 @@ class TestSpanHandlerWrapper:
def test_func():
return "result"
handler.wrapper(tracer, test_func, (), {})
handler.wrapper(tracer, test_func)
spans = memory_span_exporter.get_finished_spans()
assert len(spans) == 1
@@ -174,7 +174,7 @@ class TestSpanHandlerWrapper:
def test_func():
return "result"
handler.wrapper(tracer, test_func, (), {})
handler.wrapper(tracer, test_func)
spans = memory_span_exporter.get_finished_spans()
assert len(spans) == 1
@@ -190,7 +190,7 @@ class TestSpanHandlerWrapper:
raise ValueError("test error")
with pytest.raises(ValueError, match="test error"):
handler.wrapper(tracer, test_func, (), {})
handler.wrapper(tracer, test_func)
spans = memory_span_exporter.get_finished_spans()
assert len(spans) == 1
@@ -208,7 +208,7 @@ class TestSpanHandlerWrapper:
raise ValueError("test error")
with pytest.raises(ValueError):
handler.wrapper(tracer, test_func, (), {})
handler.wrapper(tracer, test_func)
spans = memory_span_exporter.get_finished_spans()
assert len(spans) == 1
@@ -225,7 +225,7 @@ class TestSpanHandlerWrapper:
raise ValueError("test error")
with pytest.raises(ValueError, match="test error"):
handler.wrapper(tracer, test_func, (), {})
handler.wrapper(tracer, test_func)
@patch("extensions.otel.decorators.base.dify_config.ENABLE_OTEL", True)
def test_wrapper_passes_arguments_correctly(self, tracer_provider_with_memory_exporter, memory_span_exporter):
@@ -236,7 +236,7 @@ class TestSpanHandlerWrapper:
def test_func(a, b, c=10):
return a + b + c
result = handler.wrapper(tracer, test_func, (1, 2), {"c": 3})
result = handler.wrapper(tracer, test_func, 1, 2, c=3)
assert result == 6
@@ -249,7 +249,7 @@ class TestSpanHandlerWrapper:
def my_function(x):
return x * 2
result = handler.wrapper(tracer, my_function, (5,), {})
result = handler.wrapper(tracer, my_function, 5)
assert result == 10
spans = memory_span_exporter.get_finished_spans()