feat: sample Raspberry Pi primary interface traffic rates
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import sys,unittest,tempfile
|
||||
from pathlib import Path
|
||||
sys.path.insert(0,str(Path(__file__).resolve().parents[1]/'app'))
|
||||
from network_rates import NetworkRates
|
||||
|
||||
class RatesTests(unittest.TestCase):
|
||||
def test_initial_idle_transfer_reset_and_switch(self):
|
||||
with tempfile.TemporaryDirectory() as root:
|
||||
def write(interface,rx,tx):
|
||||
p=Path(root)/interface/'statistics';p.mkdir(parents=True,exist_ok=True)
|
||||
(p/'rx_bytes').write_text(str(rx));(p/'tx_bytes').write_text(str(tx))
|
||||
write('eth0',1000,2000);sampler=NetworkRates(root)
|
||||
self.assertEqual(sampler.sample('eth0',10),(None,None))
|
||||
self.assertEqual(sampler.sample('eth0',15),(0,0))
|
||||
write('eth0',1500,3000)
|
||||
self.assertEqual(sampler.sample('eth0',20),(100,200))
|
||||
write('eth0',10,20)
|
||||
self.assertEqual(sampler.sample('eth0',25),(None,None))
|
||||
write('wlan0',100,200)
|
||||
self.assertEqual(sampler.sample('wlan0',30),(None,None))
|
||||
self.assertEqual(sampler.sample('missing',35),(None,None))
|
||||
self.assertEqual(sampler.sample('eth0',40),(None,None))
|
||||
self.assertEqual(sampler.sample('../eth0',45),(None,None))
|
||||
Reference in New Issue
Block a user