third-eye / tests /test_utils.py
mitvho09's picture
Deploy accessible futurist refresh
2d469d4 verified
Raw
History Blame Contribute Delete
1.47 kB
import io
import warnings
import wave
import numpy as np
from app import LANGUAGES, iris_markup, mock_mode_enabled
from utils import bytes_to_wav, image_to_bytes, safe_call
def test_image_to_bytes_accepts_numpy():
image = np.zeros((32, 32, 3), dtype=np.uint8)
result = image_to_bytes(image)
assert result.startswith(b"\xff\xd8")
def test_bytes_to_wav_writes_file(tmp_path):
source = io.BytesIO()
with wave.open(source, "wb") as wav_file:
wav_file.setnchannels(1)
wav_file.setsampwidth(2)
wav_file.setframerate(8_000)
wav_file.writeframes(b"\x00\x00" * 80)
path = bytes_to_wav(source.getvalue())
with wave.open(path, "rb") as wav_file:
assert wav_file.getframerate() == 8_000
def test_safe_call_returns_fallback():
def fail():
raise RuntimeError("expected")
with warnings.catch_warnings():
warnings.simplefilter("ignore", UserWarning)
assert safe_call(fail, fallback="fallback") == "fallback"
def test_iris_markup_exposes_state_label():
markup = iris_markup("seeing", "Seeing")
assert "iris seeing" in markup
assert "Seeing" in markup
def test_supported_languages_include_demo_languages():
assert LANGUAGES["English"] == "en"
assert LANGUAGES["Chinese"] == "zh"
def test_mock_mode_can_be_forced(monkeypatch):
monkeypatch.setenv("THIRD_EYE_MOCK", "true")
assert mock_mode_enabled() is True