rubbos installation guide
[bottlenecks.git] / vstf / vstf / agent / unittest / perf / test_netns.py
1 """
2 Created on 2015-9-23
3
4 @author: y00228926
5 """
6 import unittest
7
8 from vstf.agent.unittest.perf import model
9 from vstf.agent.perf import netns
10
11
12 class TestNetnsManager(model.Model):
13     def setUp(self):
14         super(TestNetnsManager, self).setUp()
15         self.ns = netns.Netns()
16                 
17     def tearDown(self):
18         super(TestNetnsManager, self).tearDown()
19
20     def testNetns(self):
21         device_list,ns_list,ip_setting_list,ip_list = self.device_list,self.ns_list,self.ip_setting_list,self.ip_list
22         net = self.ns
23         for ns in ns_list:
24             self.assertTrue(net.create_namespace(ns),'create_namespace failed')
25         for ns,dev,ip_setting in zip(ns_list,device_list,ip_setting_list):
26             self.assertTrue(net.add_device(ns, dev),'add_device failed')
27             self.assertTrue(net.activate_device(ns,dev),'activate_device failed')
28             self.assertTrue(net.config_ip(ns,dev,ip_setting),'config_ip failed')
29         for ns in ns_list:
30             self.assertTrue(net.remove_namespace(ns),'remove_namespace failed')
31     
32     def testNetNsManager(self):
33         mgr = self.mgr
34         device_list,ns_list,ip_setting_list,ip_list = self.device_list,self.ns_list,self.ip_setting_list,self.ip_list
35         for ns,dev,ip_setting in zip(ns_list,device_list,ip_setting_list):
36             netdev = {
37                       "namespace":ns,
38                       "iface":dev,
39                       'ip_setting':ip_setting
40                 }
41             ret = mgr.config_dev(netdev)
42             self.assertTrue(ret,"config_dev failed, netdev=%s" % netdev)
43             
44         for ns,dev,ip_setting in zip(ns_list,device_list,ip_setting_list):
45             netdev = {
46                       "namespace":ns,
47                       "iface":dev,
48                       'ip_setting':ip_setting
49                 }
50             self.assertTrue(mgr.recover_dev(netdev),"recover_dev failed, netdev=%s" % netdev)
51             
52         for ns,dev,ip_setting in zip(ns_list,device_list,ip_setting_list):
53             netdev = {
54                       "namespace":ns,
55                       "iface":dev,
56                       'ip_setting':ip_setting
57                 }
58             self.assertTrue(mgr.config_dev(netdev),"config_dev failed, netdev=%s" % netdev)       
59         self.assertTrue(mgr.clean_all_namespace(),'remove_namespace failed')
60
61
62 if __name__ == "__main__":
63     import logging
64     LOG = logging.getLogger(__name__)
65     logging.basicConfig(level = logging.DEBUG)
66     #import sys;sys.argv = ['', 'Test.testName']
67     unittest.main()