From 452f564c004707e9135e1a1017c1db95b66e77d8 Mon Sep 17 00:00:00 2001 From: misyaguziya <53165965+misyaguziya@users.noreply.github.com> Date: Mon, 20 Oct 2025 01:30:41 +0900 Subject: [PATCH] =?UTF-8?q?backend=5Ftest:=20LLM/API=E9=96=A2=E9=80=A3?= =?UTF-8?q?=E3=81=AE=20set/data=20=E3=83=86=E3=82=B9=E3=83=88=E6=8B=A1?= =?UTF-8?q?=E5=BC=B5=E3=81=A8=E3=83=87=E3=83=90=E3=83=83=E3=82=B0=E5=87=BA?= =?UTF-8?q?=E5=8A=9B=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /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 エントリをテスト用に追加 --- src-python/backend_test.py | 63 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/src-python/backend_test.py b/src-python/backend_test.py index 8fea1092..7c91cb51 100644 --- a/src-python/backend_test.py +++ b/src-python/backend_test.py @@ -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]