0b4f739d12
- FastAPI server with audio mixer (Windows + Voicemeeter), media tracking, notifications (progress + alerts), telemetry, and system tray .exe build - Test suite covering notifications, audio mixer, media, telemetry, and API - E-Ink web client (vanilla JS, DOM API, block meters, swipe gestures) - Android WebView APK for BOOX Go 7 Color Gen II (Android 13, Kotlin) - Design decision records in .pi/docs/design/ - PyInstaller build script for server .exe
60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
"""Tests for the telemetry module."""
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
from ..telemetry import SensorReading, TelemetryManager, TelemetryState
|
|
|
|
|
|
class TestSensorReading:
|
|
def test_defaults(self) -> None:
|
|
reading = SensorReading(name="CPU Temp", value=65.0, unit="C")
|
|
assert reading.name == "CPU Temp"
|
|
assert reading.value == 65.0
|
|
assert reading.unit == "C"
|
|
assert reading.category == ""
|
|
|
|
def test_with_category(self) -> None:
|
|
reading = SensorReading(name="GPU Usage", value=72.0, unit="%", category="GPU")
|
|
assert reading.category == "GPU"
|
|
|
|
|
|
class TestTelemetryState:
|
|
def test_defaults(self) -> None:
|
|
state = TelemetryState()
|
|
assert state.cpu_temp == 0.0
|
|
assert state.gpu_temp == 0.0
|
|
assert state.sensors == []
|
|
|
|
def test_with_values(self) -> None:
|
|
state = TelemetryState(
|
|
cpu_temp=72.5,
|
|
gpu_temp=68.0,
|
|
cpu_usage=45.0,
|
|
sensors=[
|
|
SensorReading(name="CPU", value=72.5, unit="C"),
|
|
],
|
|
)
|
|
assert state.cpu_temp == 72.5
|
|
assert len(state.sensors) == 1
|
|
|
|
|
|
class TestTelemetryManager:
|
|
def test_init(self) -> None:
|
|
manager = TelemetryManager()
|
|
assert manager._state is not None
|
|
|
|
def test_get_state_returns_dict(self) -> None:
|
|
manager = TelemetryManager()
|
|
state = manager.get_state()
|
|
assert isinstance(state, dict)
|
|
assert "cpu_temp" in state
|
|
assert "gpu_temp" in state
|
|
assert "sensors" in state
|
|
|
|
def test_get_state_empty(self) -> None:
|
|
manager = TelemetryManager()
|
|
state = manager.get_state()
|
|
assert state["cpu_temp"] == 0.0
|
|
assert state["sensors"] == []
|