📄 test_controllers.py
字号:
import osimport reimport unittestimport xen.xend.XendOptionsxen.xend.XendOptions.XendOptions.config_default = '/dev/null'from xen.xend.server import netifFAKE_DOMID = 42FAKE_DEVID = 63xoptions = xen.xend.XendOptions.instance()class test_controllers(unittest.TestCase): def testNetif(self): controller = self.controllerInstance(netif.NetifController) self.assertNetif(controller.getDeviceDetails({}), None) self.assertNetif( controller.getDeviceDetails({'mac': 'aa:bb:cc:dd:ee:ff'}), 'aa:bb:cc:dd:ee:ff') def assertNetif(self, results, expectedMac): (devid, backdets, frontdets) = results self.assertEqual(devid, FAKE_DEVID) self.assertEqual(backdets['handle'], str(FAKE_DEVID)) self.assertEqual(backdets['script'], os.path.join(xoptions.network_script_dir, xoptions.get_vif_script())) self.assertValidMac(backdets['mac'], expectedMac) self.assertEqual(frontdets['handle'], str(FAKE_DEVID)) self.assertValidMac(frontdets['mac'], expectedMac) MAC_REGEXP = re.compile('^' + ':'.join([r'[0-9a-f][0-9a-f]' for i in range(0, 6)]) + '$') def assertValidMac(self, mac, expected): if expected: self.assertEqual(mac, expected) else: self.assert_(self.MAC_REGEXP.match(mac)) def controllerInstance(self, cls): """Allocate an instance of the given controller class, and override methods as appropriate so that we can run tests without needing Xenstored.""" result = cls(FakeXendDomainInfo()) result.allocateDeviceID = fakeID return resultclass FakeXendDomainInfo: def getDomainPath(self): return "/test/fake/domain/%d/" % FAKE_DOMIDdef fakeID(): return FAKE_DEVIDdef test_suite(): return unittest.makeSuite(test_controllers)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -