mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-08-08 05:18:49 +03:00
fix: modernize dependency recovery guidance (#5282)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from unittest.mock import patch, sentinel
|
||||
|
||||
from nanobot.providers import openai_compat_provider
|
||||
from nanobot.providers.openai_compat_provider import OpenAICompatProvider
|
||||
from nanobot.providers.registry import ProviderSpec
|
||||
|
||||
@@ -59,3 +60,22 @@ async def test_openai_compat_provider_timeout_can_be_overridden_by_env(monkeypat
|
||||
await provider._ensure_client()
|
||||
|
||||
assert mock_async_openai.call_args.kwargs["timeout"] == 45.0
|
||||
|
||||
|
||||
async def test_missing_langfuse_warning_recommends_plugin_command(monkeypatch) -> None:
|
||||
monkeypatch.setenv("LANGFUSE_SECRET_KEY", "secret")
|
||||
monkeypatch.setattr(openai_compat_provider, "AsyncOpenAI", None)
|
||||
|
||||
with (
|
||||
patch("importlib.util.find_spec", return_value=None),
|
||||
patch("openai.AsyncOpenAI") as mock_async_openai,
|
||||
patch("nanobot.providers.openai_compat_provider.logger.warning") as mock_warning,
|
||||
):
|
||||
provider = OpenAICompatProvider(api_key="test-key", api_base="https://example.com/v1")
|
||||
await provider._ensure_client()
|
||||
|
||||
mock_warning.assert_called_once_with(
|
||||
"LANGFUSE_SECRET_KEY is set but langfuse is not installed; "
|
||||
"run `nanobot plugins enable langfuse` to enable tracing"
|
||||
)
|
||||
mock_async_openai.assert_called_once()
|
||||
|
||||
Reference in New Issue
Block a user