test_translator_failure_semantics.py
1.01 KB
from translation.backends.qwen_mt import QwenMTTranslationBackend
class _RecordingRedis:
def __init__(self):
self.setex_calls = []
def setex(self, key, ttl, value):
self.setex_calls.append((key, ttl, value))
def test_translate_failure_returns_none_and_skips_cache(monkeypatch):
translator = QwenMTTranslationBackend(
capability_name="qwen-mt",
model="qwen-mt-flash",
base_url="https://dashscope-us.aliyuncs.com/compatible-mode/v1",
api_key="dummy-key",
use_cache=False,
)
fake_redis = _RecordingRedis()
translator.use_cache = True
translator.redis_client = fake_redis
translator.cache_prefix = "trans"
translator.expire_seconds = 60
monkeypatch.setattr(translator, "_translate_qwen", lambda *args, **kwargs: None)
result = translator.translate(
text="商品标题",
target_lang="en",
source_lang="zh",
scene="sku_name",
)
assert result is None
assert fake_redis.setex_calls == []