summaryrefslogtreecommitdiffstats
path: root/vstf/vstf/agent/unittest/perf/test_vnstat.py
diff options
context:
space:
mode:
Diffstat (limited to 'vstf/vstf/agent/unittest/perf/test_vnstat.py')
-rwxr-xr-xvstf/vstf/agent/unittest/perf/test_vnstat.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/vstf/vstf/agent/unittest/perf/test_vnstat.py b/vstf/vstf/agent/unittest/perf/test_vnstat.py
new file mode 100755
index 00000000..f7c31f5b
--- /dev/null
+++ b/vstf/vstf/agent/unittest/perf/test_vnstat.py
@@ -0,0 +1,57 @@
+"""
+Created on 2015-9-23
+
+@author: y00228926
+"""
+import unittest
+import time
+
+from vstf.agent.perf.utils import get_pid_by_name
+from vstf.agent.unittest.perf import model
+from vstf.agent.perf import vnstat
+
+
+class TestVnstat(model.LocalModel):
+ def setUp(self):
+ super(TestVnstat, self).setUp()
+ self.vnstat = vnstat.VnStat()
+ self.namespace = self.ns_list[0]
+ self.device = self.device_list[0]
+ self.ip_setting = self.ip_setting_list[0]
+ netdev = {
+ "namespace": self.namespace,
+ "iface": self.device,
+ 'ip_setting': self.ip_setting
+ }
+ self.mgr.config_dev(netdev)
+
+ def tearDown(self):
+ super(TestVnstat, self).tearDown()
+
+ def test_run_vnstat(self):
+ logging.basicConfig(level=logging.DEBUG)
+ pid = self.vnstat.run_vnstat(self.device, self.namespace)
+ time.sleep(12)
+ raw = self.vnstat.kill_vnstat(pid, self.namespace)
+ print raw['raw_data']
+ data = self.vnstat.process(raw['raw_data'])
+ self.assertTrue(type(data) is dict)
+ for key in ('rxmB/s', 'txmB', 'rxpck', 'txpck', \
+ 'rxpck_min/s', 'txmB_max/s', 'txpck_max/s', \
+ 'txmB/s', 'rxmB', 'rxmB_max/s', 'rxpck/s', 'rxmB_min/s', \
+ 'time', 'rxpck_max/s', 'txpck_min/s', 'txpck/s', 'txmB_min/s'):
+ self.assertTrue(key in data)
+
+ def test_clean(self):
+ self.vnstat.run_vnstat(self.device, self.namespace)
+ self.vnstat.clean()
+ self.assertTrue(get_pid_by_name('vnstat') == [])
+
+
+if __name__ == "__main__":
+ import logging
+
+ LOG = logging.getLogger(__name__)
+ logging.basicConfig(level=logging.DEBUG)
+ # import sys;sys.argv = ['', 'Test.testName']
+ unittest.main()