Files
odysseus/tests/test_tts_cache_stats.py
Tatlatat 51cf63009e TTS: include mp3 files in cache stats
TTSService._put_cache writes .mp3 for MP3 audio (ID3/MPEG-framed bytes) and
.wav otherwise, and the rest of the class treats both as cache entries
(_get_cache iterates (".mp3", ".wav"); eviction globs "*.*"). But
get_stats() enumerated the cache with `glob("*.wav")` only, so both
cache_entries and cache_size_mb undercounted — reporting 0 whenever the
cache held MP3 files, which is the common case for most TTS providers.

Glob both extensions so the reported stats match what's actually cached.

tests/test_tts_cache_stats.py writes an MP3-headed blob via _put_cache and
asserts get_stats() reports one entry with non-zero size. Fails before this
change.
2026-06-02 20:43:29 +09:00

13 lines
416 B
Python

from services.tts.tts_service import TTSService
def test_tts_cache_stats_counts_mp3(tmp_path):
service = TTSService(cache_dir=str(tmp_path))
# Put an MP3-headed blob (starts with b'ID3') into cache, with size > 1MB so cache_size_mb > 0
service._put_cache("k", b"ID3" + b"x" * (1024 * 1024))
stats = service.get_stats()
assert stats["cache_entries"] == 1
assert stats["cache_size_mb"] > 0