feat: align wired network card and collect traffic history

This commit is contained in:
way
2026-10-14 23:43:41 +08:00
parent 6a66a48a51
commit f576114db1
6 changed files with 19 additions and 5 deletions
+4 -3
View File
@@ -11,18 +11,19 @@ class MetricsTests(unittest.TestCase):
value = {'timestamp': 123, 'machine': {'name':'Pi'}, 'system': {
'cpu_percent': 10, 'memory_total_bytes': 8000, 'memory_used_bytes': 4000,
'disk_total_bytes': 16000, 'disk_used_bytes': 5000},
'uptime_seconds': 1000, 'network': {'link_speed_mbps':1000},
'uptime_seconds': 1000, 'network': {'link_speed_mbps':1000,'rx_bytes_per_second':0,'tx_bytes_per_second':1234},
'display': {'alerts': []}}
with patch.object(worker,'request',return_value=value): result=worker.collect({})
values = {m['key']:m['value'] for m in result['metrics']}
self.assertEqual(values['memory_used_bytes'],4000)
self.assertEqual(values['uptime_seconds'],1000)
self.assertEqual(values['network_link_speed_mbps'],1000)
self.assertNotIn('network_rx_bytes_per_second',values)
self.assertEqual(values['network_rx_bytes_per_second'],0)
self.assertEqual(values['network_tx_bytes_per_second'],1234)
self.assertTrue(result['alerts_complete'])
def test_absent_or_boolean_fields_not_invented(self):
value={'system': {'cpu_percent': True}, 'machine':{}, 'network': {'link_speed_mbps': None}}
value={'system': {'cpu_percent': True}, 'machine':{}, 'network': {'link_speed_mbps': None, 'rx_bytes_per_second':float('nan'), 'tx_bytes_per_second':True}}
with patch.object(worker,'request',return_value=value): result=worker.collect({})
self.assertEqual(result['metrics'],[])