"""Tests for configuration module.""" from tuimble.config import AudioConfig, Config, PttConfig, ServerConfig def test_default_config(): cfg = Config() assert cfg.server.host == "localhost" assert cfg.server.port == 64738 assert cfg.audio.sample_rate == 48000 assert cfg.ptt.mode == "toggle" def test_server_config(): srv = ServerConfig(host="mumble.example.com", port=12345) assert srv.host == "mumble.example.com" assert srv.port == 12345 def test_ptt_config_defaults(): ptt = PttConfig() assert ptt.key == "f4" assert ptt.backend == "auto" def test_audio_gain_defaults(): acfg = AudioConfig() assert acfg.input_gain == 1.0 assert acfg.output_gain == 1.0 def test_audio_gain_custom(): acfg = AudioConfig(input_gain=0.5, output_gain=1.5) assert acfg.input_gain == 0.5 assert acfg.output_gain == 1.5 def test_server_cert_defaults(): srv = ServerConfig() assert srv.certfile == "" assert srv.keyfile == "" def test_server_cert_custom(): srv = ServerConfig(certfile="/path/cert.pem", keyfile="/path/key.pem") assert srv.certfile == "/path/cert.pem" assert srv.keyfile == "/path/key.pem"