Package VMBuilder :: Package tests :: Module base_test
[frames] | no frames]

Source Code for Module VMBuilder.tests.base_test

 1  import unittest 
 2   
 3  import VMBuilder 
 4  import VMBuilder.plugins 
 5  from VMBuilder.exception import VMBuilderUserError 
 6   
7 -class TestBaseModule(unittest.TestCase):
8 - def test_register_distro(self):
9 class TestDistro(): 10 arg = 'test'
11 12 VMBuilder.register_distro(TestDistro) 13 self.assertEqual(TestDistro, VMBuilder.get_distro('test'))
14
15 - def test_register_hypervisor(self):
16 class TestHypervisor(): 17 arg = 'test'
18 19 VMBuilder.register_hypervisor(TestHypervisor) 20 self.assertEqual(TestHypervisor, VMBuilder.get_hypervisor('test')) 21
22 - def register_hypervisor_or_distro_plugin(self, plugin_attr_name, register_function):
23 class Plugin(object): 24 priority = 10
25 26 class PluginA(Plugin): 27 pass 28 29 class PluginB(Plugin): 30 priority = 5 31 32 class PluginC(Plugin): 33 priority = 15 34 35 saved_plugins = getattr(VMBuilder, plugin_attr_name) 36 setattr(VMBuilder, plugin_attr_name, []) 37 register_function(PluginA) 38 register_function(PluginB) 39 register_function(PluginC) 40 self.assertEqual(getattr(VMBuilder, plugin_attr_name)[0], PluginB) 41 self.assertEqual(getattr(VMBuilder, plugin_attr_name)[1], PluginA) 42 self.assertEqual(getattr(VMBuilder, plugin_attr_name)[2], PluginC) 43 setattr(VMBuilder, plugin_attr_name, saved_plugins) 44
45 - def test_register_hypervisor_plugin(self):
46 self.register_hypervisor_or_distro_plugin('_hypervisor_plugins', VMBuilder.register_hypervisor_plugin)
47
48 - def test_register_distro_plugin(self):
49 self.register_hypervisor_or_distro_plugin('_distro_plugins', VMBuilder.register_distro_plugin)
50
51 - def test_unknown_distro(self):
52 self.assertRaises(VMBuilderUserError, VMBuilder.get_distro, 'unknown')
53
54 - def test_unknown_hypervisor(self):
55 self.assertRaises(VMBuilderUserError, VMBuilder.get_hypervisor, 'unknown')
56
57 - def test_set_console_log_level(self):
58 for x in range(50): 59 VMBuilder.set_console_loglevel(x) 60 self.assertEquals(VMBuilder.log.console.level, x)
61
62 - def test_get_version_info(self):
63 info = VMBuilder.get_version_info() 64 self.assertTrue('major' in info) 65 self.assertTrue('minor' in info) 66 self.assertTrue('micro' in info) 67 self.assertTrue('revno' in info)
68