fix: improve media failure diagnostics and token fallback coverage
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
from nanobot.utils.helpers import estimate_prompt_tokens_chain
|
||||
|
||||
|
||||
class _NoCounterProvider:
|
||||
pass
|
||||
|
||||
|
||||
class _BrokenCounterProvider:
|
||||
def estimate_prompt_tokens(self, messages, tools=None, model=None):
|
||||
raise RuntimeError("counter unavailable")
|
||||
|
||||
|
||||
def test_estimate_prompt_tokens_chain_falls_back_without_provider_counter() -> None:
|
||||
tokens, source = estimate_prompt_tokens_chain(
|
||||
_NoCounterProvider(),
|
||||
"test-model",
|
||||
[{"role": "user", "content": "hello"}],
|
||||
)
|
||||
|
||||
assert tokens > 0
|
||||
assert source == "tiktoken"
|
||||
|
||||
|
||||
def test_estimate_prompt_tokens_chain_falls_back_when_provider_counter_fails() -> None:
|
||||
tokens, source = estimate_prompt_tokens_chain(
|
||||
_BrokenCounterProvider(),
|
||||
"test-model",
|
||||
[{"role": "user", "content": "hello"}],
|
||||
)
|
||||
|
||||
assert tokens > 0
|
||||
assert source == "tiktoken"
|
||||
Reference in New Issue
Block a user