Files
glances/tests/test_plugin_uptime_render_curses_v5.py
nicolargo e1a4bd388d feat(v5): G1 — port uptime plugin to v5 (seconds since boot + header-right render)
Implements the v5 scalar uptime plugin:
- model_v5: _grab_stats returns {seconds: int} from psutil.boot_time(),
  tolerates OSError with empty payload, matches v4 get_export contract.
- render_curses_v5: single "Uptime: <value>" Row for the header slot,
  using format_seconds (e.g. 273840 → "3d04h"); empty payload yields [].
TDD: 4 model tests + 2 renderer tests, all green. Discovery smoke check passes.
2026-06-06 17:38:39 +02:00

20 lines
581 B
Python

"""Glances v5 — tests for the uptime curses renderer (header-right block)."""
from __future__ import annotations
from glances.plugins.uptime.render_curses_v5 import render
UPTIME_FIELDS = {"seconds": {"unit": "seconds"}}
def test_render_shows_uptime_label_and_value():
rows = render({"seconds": 273_840, "_levels": {}}, UPTIME_FIELDS) # 3d04h
assert len(rows) == 1
flat = " ".join(c.text for c in rows[0].cells)
assert "Uptime:" in flat
assert "3d04h" in flat
def test_render_empty_payload_yields_no_rows():
assert render({}, UPTIME_FIELDS) == []