Explorar o código

fix bug in test

hellofinch hai 1 ano
pai
achega
696845e9ad
Modificáronse 2 ficheiros con 20 adicións e 0 borrados
  1. 14 0
      pdf2zh/config.py
  2. 6 0
      test/test_translator.py

+ 14 - 0
pdf2zh/config.py

@@ -192,9 +192,23 @@ class ConfigManager:
                 del instance._config_data[key]
                 instance._save_config()
 
+    @classmethod
+    def clear(cls):
+        """删除配置值并保存"""
+        instance = cls.get_instance()
+        with instance._lock:
+            instance._config_data={}
+            instance._save_config()
+
     @classmethod
     def all(cls):
         """返回所有配置项"""
         instance = cls.get_instance()
         # 这里只做读取操作,一般可不加锁。不过为了保险也可以加锁。
         return instance._config_data
+    
+    @classmethod
+    def remove(cls):
+        instance = cls.get_instance()
+        with instance._lock:
+            os.remove(instance._config_path)

+ 6 - 0
test/test_translator.py

@@ -2,6 +2,7 @@ import unittest
 from pdf2zh.translator import BaseTranslator
 from pdf2zh.translator import OpenAIlikedTranslator
 from pdf2zh import cache
+from pdf2zh.config import ConfigManager
 
 
 class AutoIncreaseTranslator(BaseTranslator):
@@ -81,9 +82,11 @@ class TestOpenAIlikedTranslator(unittest.TestCase):
             "OPENAILIKED_API_KEY": "test_api_key",
             "OPENAILIKED_MODEL": "test_model",
         }
+        ConfigManager.custome_config("config.json")
 
     def test_missing_base_url_raises_error(self):
         """测试缺失 OPENAILIKED_BASE_URL 时抛出异常"""
+        ConfigManager.clear()
         with self.assertRaises(ValueError) as context:
             OpenAIlikedTranslator(
                 lang_in="en", lang_out="zh", model="test_model", envs={}
@@ -96,6 +99,7 @@ class TestOpenAIlikedTranslator(unittest.TestCase):
             "OPENAILIKED_BASE_URL": "https://api.openailiked.com",
             "OPENAILIKED_API_KEY": "test_api_key",
         }
+        ConfigManager.clear()
         with self.assertRaises(ValueError) as context:
             OpenAIlikedTranslator(
                 lang_in="en", lang_out="zh", model=None, envs=envs_without_model
@@ -104,6 +108,7 @@ class TestOpenAIlikedTranslator(unittest.TestCase):
 
     def test_initialization_with_valid_envs(self):
         """测试使用有效的环境变量初始化"""
+        ConfigManager.clear()
         translator = OpenAIlikedTranslator(
             lang_in="en",
             lang_out="zh",
@@ -126,6 +131,7 @@ class TestOpenAIlikedTranslator(unittest.TestCase):
             "OPENAILIKED_BASE_URL": "https://api.openailiked.com",
             "OPENAILIKED_MODEL": "test_model",
         }
+        ConfigManager.clear()
         translator = OpenAIlikedTranslator(
             lang_in="en",
             lang_out="zh",