Migrationen 003–009, Kundaufträge mit Lieferschein, Abräumen mit Urteil, ntfy/Backup/Zeitfenster, Live-Stream und Mobile-Mehr-Menü.
29 lines
814 B
Python
29 lines
814 B
Python
"""Wartungs-Zähler."""
|
|
|
|
import unittest
|
|
from unittest.mock import MagicMock
|
|
|
|
from grotti.maintenance import counters_for_host
|
|
|
|
|
|
class MaintenanceCounterTests(unittest.TestCase):
|
|
def test_counters_from_aggregate_row(self):
|
|
conn = MagicMock()
|
|
conn.execute.return_value.fetchone.return_value = {
|
|
"duration_s": 7200.0,
|
|
"meters": 150000.0,
|
|
"runs": 12,
|
|
}
|
|
out = counters_for_host(conn, "10.0.0.1")
|
|
self.assertAlmostEqual(out["hours"], 2.0)
|
|
self.assertAlmostEqual(out["meters"], 150000.0)
|
|
self.assertEqual(out["runs"], 12)
|
|
|
|
def test_empty_host(self):
|
|
out = counters_for_host(MagicMock(), "")
|
|
self.assertEqual(out, {"hours": 0.0, "meters": 0.0, "runs": 0})
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|