backend_test: LLM/API関連の set/data テスト拡張とデバッグ出力を追加

- /set/data 系のテストに Plamo/Gemini/OpenAI/LMStudio/Ollama のモデル選択と認証キー投入を追加(/get/data/* でモデルリストを事前取得してランダム選択)
- LMStudio の URL を正常/異常ケースでランダム投入するテストを追加
- Deepl 等の認証キーの期待ステータスを [200, 400] に更新(成功/失敗両方を許容)
- set_data_endpoints の数をデバッグログ出力する行を追加
- transliteration 機能(convert_message_to_romaji / convert_message_to_hiragana)の enable/disable エントリをテスト用に追加
This commit is contained in:
misyaguziya
2025-10-20 01:30:41 +09:00
parent 49aafadd1c
commit 452f564c00

View File

@@ -65,6 +65,8 @@ class TestMainloop():
for endpoint in self.main.mapping.keys():
if endpoint.startswith("/set/data/"):
self.set_data_endpoints.append(endpoint)
# 新規: local LLM/API キー/モデル選択関連の存在確認ログ
print(f"[DEBUG] set_data_endpoints count: {len(self.set_data_endpoints)}", flush=True)
self.delete_data_endpoints = []
for endpoint in self.main.mapping.keys():
@@ -225,9 +227,57 @@ class TestMainloop():
data = random.choice(self.config_dict["transcription_compute_device_list"])
case "/set/data/ctranslate2_weight_type":
data = random.choice(list(self.config_dict["selectable_ctranslate2_weight_type_dict"].keys()))
# LLM / API Clients
case "/set/data/plamo_model":
# 事前にモデルリストを取得
self.config_dict["plamo_model_list"], _ = self.main.handleRequest("/get/data/plamo_model_list", None)
model_list = self.config_dict.get("plamo_model_list", [])
data = random.choice(model_list) if model_list else None
case "/set/data/plamo_auth_key":
data = "PLAMO_DUMMY_KEY" # 成功か失敗かは内部判定に依存
expected_status = [200, 400]
case "/set/data/gemini_model":
self.config_dict["gemini_model_list"], _ = self.main.handleRequest("/get/data/gemini_model_list", None)
model_list = self.config_dict.get("gemini_model_list", [])
data = random.choice(model_list) if model_list else None
case "/set/data/gemini_auth_key":
data = "GEMINI_DUMMY_KEY"
expected_status = [200, 400]
case "/set/data/openai_model":
self.config_dict["openai_model_list"], _ = self.main.handleRequest("/get/data/openai_model_list", None)
model_list = self.config_dict.get("openai_model_list", [])
data = random.choice(model_list) if model_list else None
case "/set/data/openai_auth_key":
data = "OPENAI_DUMMY_KEY"
expected_status = [200, 400]
case "/set/data/lmstudio_model":
self.config_dict["lmstudio_model_list"], _ = self.main.handleRequest("/get/data/lmstudio_model_list", None)
model_list = self.config_dict.get("lmstudio_model_list", [])
data = random.choice(model_list) if model_list else None
case "/set/data/lmstudio_url":
# 正常/異常 URL をランダム投入
data = random.choice([
"http://localhost:1234/v1",
"http://127.0.0.1:1234/v1",
"http://invalid_host:9999/v1",
])
expected_status = [200, 400]
case "/set/data/ollama_model":
self.config_dict["ollama_model_list"], _ = self.main.handleRequest("/get/data/ollama_model_list", None)
model_list = self.config_dict.get("ollama_model_list", [])
data = random.choice(model_list) if model_list else None
case "/set/data/deepl_auth_key":
data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
expected_status = [400]
data = "DEEPL_DUMMY_KEY"
expected_status = [200, 400]
case "/set/data/plamo_auth_key":
data = "PLAMO_DUMMY_KEY"
expected_status = [200, 400]
case "/set/data/gemini_auth_key":
data = "GEMINI_DUMMY_KEY"
expected_status = [200, 400]
case "/set/data/openai_auth_key":
data = "OPENAI_DUMMY_KEY"
expected_status = [200, 400]
case "/set/data/selected_mic_host":
data = random.choice(self.config_dict["mic_host_list"])
case "/set/data/selected_mic_device":
@@ -363,6 +413,15 @@ class TestMainloop():
data = random.choice(self.config_dict["selected_translation_compute_device"]["compute_types"])
case "/set/data/selected_transcription_compute_type":
data = random.choice(self.config_dict["selected_transcription_compute_device"]["compute_types"])
# 言語変換設定(新規 transliteration 機能 ON/OFF テスト補助)
case "/set/enable/convert_message_to_romaji":
data = None
case "/set/disable/convert_message_to_romaji":
data = None
case "/set/enable/convert_message_to_hiragana":
data = None
case "/set/disable/convert_message_to_hiragana":
data = None
case _:
data = None
expected_status = [404]