Blame view

tests/test_translator_failure_semantics.py 872 Bytes
a0a173ae   tangwang   last
1
  from query.qwen_mt_translate import Translator
a7bb846c   tangwang   monitor
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  
  
  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 = Translator(model="qwen", 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",
          prompt="translate for product search",
      )
  
      assert result is None
      assert fake_redis.setex_calls == []