Files
pigway-console-adapter-rasp…/tests/test_storage_metrics.py
T

26 lines
1.3 KiB
Python
Raw Normal View History

import sys
import unittest
from pathlib import Path
from unittest.mock import patch
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "plugin"))
import worker
class StorageMetricsTests(unittest.TestCase):
def test_per_disk_history_has_own_observation_and_keeps_hidden_collection(self):
value = {"timestamp": 100, "machine": {}, "display": {"alerts": []}, "system": {
"storage_inventory_observed_at": 90, "storage_inventory_error": False,
"storage_inventory": [
{"id": "a"*32, "name": "Data", "filesystem": "ext4", "visible": False, "state": "mounted", "capacity_bytes": 1000, "used_bytes": 0, "free_bytes": 1000, "used_percent": 0},
{"id": "b"*32, "name": "USB", "state": "unmounted", "capacity_bytes": 2000},
]}}
with patch.object(worker, "request", return_value=value):
result = worker.collect({})
self.assertEqual(len(result["resources"]), 3)
self.assertEqual(len(result["metrics"]), 4)
self.assertTrue(all(m["observed_at"] == 90 for m in result["metrics"]))
self.assertEqual(result["metrics"][1]["value"], 0)
value["system"]["storage_inventory_error"] = True
with patch.object(worker, "request", return_value=value):
self.assertEqual(worker.collect({})["metrics"], [])