Skip to main content
Glama
test_service_health_checks.pyβ€’3.67 kB
"""Tests for service health check functionality.""" import os import tempfile from pathlib import Path import pytest from voice_mode.tools.service import load_service_template def test_systemd_template_simplified(): """Test that systemd templates are simplified (v1.2.0+). Note: As of v1.2.0, templates were simplified to only need START_SCRIPT. Health checks were removed in favor of letting start scripts handle config. """ from unittest.mock import patch # Mock platform to get Linux templates with patch('voice_mode.tools.service.platform.system', return_value='Linux'): # Test Kokoro systemd template - simplified kokoro_template = load_service_template("kokoro") assert "{START_SCRIPT}" in kokoro_template assert "[Service]" in kokoro_template assert "[Unit]" in kokoro_template assert "[Install]" in kokoro_template # Test Whisper systemd template - simplified whisper_template = load_service_template("whisper") assert "{START_SCRIPT}" in whisper_template assert "[Service]" in whisper_template def test_unified_startup_scripts_exist(): """Test that unified startup scripts exist where appropriate. Note: Only Whisper uses a unified startup script in templates. Kokoro uses its own startup scripts that come with the installation. """ templates_dir = Path(__file__).parent.parent / "voice_mode" / "templates" / "scripts" # Check Whisper unified startup script (used by both macOS and Linux) whisper_script = templates_dir / "start-whisper-server.sh" assert whisper_script.exists() assert whisper_script.stat().st_mode & 0o111 # Check executable # Kokoro doesn't have a unified startup script in templates # It uses start-gpu_mac.sh, start-gpu.sh, or start-cpu.sh from the Kokoro installation def test_startup_script_content(): """Test that unified startup scripts contain proper configuration loading. Note: Only Whisper has a unified startup script to test. Kokoro uses its own scripts from the installation package. """ templates_dir = Path(__file__).parent.parent / "voice_mode" / "templates" / "scripts" # Check Whisper startup script whisper_script = templates_dir / "start-whisper-server.sh" content = whisper_script.read_text() assert "#!/bin/bash" in content assert "source" in content # Sources voicemode.env assert "VOICEMODE_WHISPER_MODEL" in content # Reads model config assert "VOICEMODE_WHISPER_PORT" in content # Reads port config # Kokoro doesn't have a unified startup script to test here # Its scripts (start-gpu_mac.sh, start-gpu.sh, start-cpu.sh) come with the installation def test_template_placeholders(): """Test that templates use consistent placeholders. Note: As of v1.2.0, templates were simplified to only need START_SCRIPT. Port, directory, and log configs are handled by start scripts via voicemode.env. """ from unittest.mock import patch # Mock platform to get Linux templates with patch('voice_mode.tools.service.platform.system', return_value='Linux'): # Kokoro templates - simplified to just START_SCRIPT kokoro_systemd = load_service_template("kokoro") assert "{START_SCRIPT}" in kokoro_systemd # Removed in v1.2.0: KOKORO_PORT, KOKORO_DIR (handled by start script) # Whisper templates - simplified to just START_SCRIPT whisper_systemd = load_service_template("whisper") assert "{START_SCRIPT}" in whisper_systemd # Removed in v1.2.0: WHISPER_PORT, LOG_DIR, INSTALL_DIR (handled by start script)

Latest Blog Posts

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/mbailey/voicemode'

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