mirror of
https://github.com/langgenius/dify.git
synced 2026-09-24 23:22:26 +08:00
refactor(otel): replace Any with Tracer and [T] generics (#34883)
This commit is contained in:
@@ -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()
|
||||
|
||||
+1
-1
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user