Skip to main content
Glama

PVV MCP Server

by lambda-tuber
test_service.py4 kB
""" test_service.py mod_service モジュールのユニットテスト """ import pytest from unittest.mock import patch, MagicMock from pvv_mcp_server import mod_service class TestService: """mod_service モジュールのテストクラス""" # ========== speak ========== @pytest.mark.asyncio async def test_speak_success(self): """speak 関数が正常に動作することを確認""" with patch('pvv_mcp_server.mod_service.mod_speak.speak') as mock_speak: mock_speak.return_value = None result = await mod_service.speak( style_id=1, msg="テスト", speedScale=1.1, pitchScale=0.2, intonationScale=1.3, volumeScale=0.9 ) mock_speak.assert_called_once_with( style_id=1, msg="テスト", speedScale=1.1, pitchScale=0.2, intonationScale=1.3, volumeScale=0.9 ) assert result == "音声合成・再生が完了しました。(style_id=1, msg='テスト')" @pytest.mark.asyncio async def test_speak_error(self): """speak 関数がエラー時に適切に処理されることを確認""" with patch('pvv_mcp_server.mod_service.mod_speak.speak') as mock_speak: mock_speak.side_effect = Exception("テストエラー") result = await mod_service.speak(style_id=1, msg="エラーテスト") assert result == "エラーが発生しました: テストエラー" # ========== speak_metan_aska ========== @pytest.mark.asyncio async def test_speak_metan_aska_success(self): """speak_metan_aska 関数が正常に動作することを確認""" with patch('pvv_mcp_server.mod_service.mod_speak_metan_aska.speak_metan_aska') as mock_speak: mock_speak.return_value = None result = await mod_service.speak_metan_aska("テストメッセージ") mock_speak.assert_called_once_with("テストメッセージ") assert result == "発話完了: テストメッセージ" @pytest.mark.asyncio async def test_speak_metan_aska_error(self): """speak_metan_aska 関数がエラー時に適切に処理されることを確認""" with patch('pvv_mcp_server.mod_service.mod_speak_metan_aska.speak_metan_aska') as mock_speak: mock_speak.side_effect = Exception("テストエラー") result = await mod_service.speak_metan_aska("エラーテスト") assert result == "エラー: テストエラー" # ========== speakers ========== def test_speakers_success(self): """speakers リソースが正常に JSON を返すことを確認""" fake_data = [{"id": 1, "name": "テスト話者"}] with patch('pvv_mcp_server.mod_service.mod_speakers.speakers', return_value=fake_data): result = mod_service.speakers() import json expected = json.dumps(fake_data, ensure_ascii=False, indent=2) assert result == expected def test_speakers_error(self): """speakers リソースがエラー時に 'エラー: ...' を返すことを確認""" with patch('pvv_mcp_server.mod_service.mod_speakers.speakers', side_effect=Exception("テストエラー")): result = mod_service.speakers() assert result == "エラー: テストエラー" # ========== start ========== def test_start(self): """start 関数が mcp.run() を呼び出すことを確認""" with patch.object(mod_service.mcp, 'run') as mock_run: mock_run.return_value = None mod_service.start() mock_run.assert_called_once_with(transport="stdio") def test_mcp_server_name(self): """MCP サーバの名前が正しく設定されていることを確認""" assert mod_service.mcp.name == "pvv-mcp-server"

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lambda-tuber/pvv-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server