9 from vstf.agent.perf.utils import get_pid_by_name
10 from vstf.agent.unittest.perf import model
11 from vstf.agent.perf import vnstat
14 class TestVnstat(model.LocalModel):
16 super(TestVnstat, self).setUp()
17 self.vnstat = vnstat.VnStat()
18 self.namespace = self.ns_list[0]
19 self.device = self.device_list[0]
20 self.ip_setting = self.ip_setting_list[0]
22 "namespace": self.namespace,
24 'ip_setting': self.ip_setting
26 self.mgr.config_dev(netdev)
29 super(TestVnstat, self).tearDown()
31 def test_run_vnstat(self):
32 logging.basicConfig(level=logging.DEBUG)
33 pid = self.vnstat.run_vnstat(self.device, self.namespace)
35 raw = self.vnstat.kill_vnstat(pid, self.namespace)
37 data = self.vnstat.process(raw['raw_data'])
38 self.assertTrue(type(data) is dict)
39 for key in ('rxmB/s', 'txmB', 'rxpck', 'txpck', \
40 'rxpck_min/s', 'txmB_max/s', 'txpck_max/s', \
41 'txmB/s', 'rxmB', 'rxmB_max/s', 'rxpck/s', 'rxmB_min/s', \
42 'time', 'rxpck_max/s', 'txpck_min/s', 'txpck/s', 'txmB_min/s'):
43 self.assertTrue(key in data)
46 self.vnstat.run_vnstat(self.device, self.namespace)
48 self.assertTrue(get_pid_by_name('vnstat') == [])
51 if __name__ == "__main__":
54 LOG = logging.getLogger(__name__)
55 logging.basicConfig(level=logging.DEBUG)
56 # import sys;sys.argv = ['', 'Test.testName']