示例#1
0
文件: lxc_test.py 项目: zdzhjx/see
 def test_initialize_default(self, create_mock, libvirt_mock):
     """Resources initializer with no extra value."""
     resources = lxc.LXCResources('foo', {'domain': 'bar'})
     libvirt_mock.open.assert_called_with('lxc:///')
     create_mock.assert_called_with(resources.hypervisor,
                                    'foo',
                                    'bar',
                                    network_name=None)
示例#2
0
文件: lxc_test.py 项目: xx-zhang/see
 def test_deallocate_creation(self, delete_mock, network_mock):
     """LXC Resources are released on deallocate. Network created"""
     resources = lxc.LXCResources('foo', {'domain': 'bar', 'network': {}})
     resources._domain = mock.Mock()
     resources._network = mock.Mock()
     resources._hypervisor = mock.Mock()
     resources.deallocate()
     delete_mock.assert_called_with(resources.domain, mock.ANY, None)
     network_mock.delete.assert_called_with(resources.network)
     self.assertTrue(resources._hypervisor.close.called)
示例#3
0
文件: lxc_test.py 项目: xx-zhang/see
 def test_allocate_default(self, create_mock, libvirt_mock, network_mock):
     """LXC Resources allocator with no extra value."""
     network_mock.lookup.return_value = None
     resources = lxc.LXCResources('foo', {'domain': 'bar'})
     resources.allocate()
     libvirt_mock.open.assert_called_with('lxc:///')
     create_mock.assert_called_with(resources.hypervisor,
                                    'foo',
                                    'bar',
                                    network_name=None)
示例#4
0
文件: lxc_test.py 项目: zdzhjx/see
 def test_cleanup(self, delete_mock, network_delete_mock, create_mock,
                  libvirt_mock):
     """Resources are released on cleanup."""
     resources = lxc.LXCResources('foo', {'domain': 'bar'})
     resources._domain = mock.Mock()
     resources._network = mock.Mock()
     resources._hypervisor = mock.Mock()
     resources.cleanup()
     delete_mock.assert_called_with(resources.domain, mock.ANY, None)
     network_delete_mock.assert_called_with(resources.network)
     self.assertTrue(resources._hypervisor.close.called)
示例#5
0
文件: lxc_test.py 项目: zdzhjx/see
 def test_initialize_hypervisor(self, create_mock, libvirt_mock):
     """Resources initializer with hypervisor."""
     resources = lxc.LXCResources('foo', {
         'domain': 'bar',
         'hypervisor': 'baz'
     })
     libvirt_mock.open.assert_called_with('baz')
     create_mock.assert_called_with(resources.hypervisor,
                                    'foo',
                                    'bar',
                                    network_name=None)
示例#6
0
 def test_deallocate_no_creation(self, delete_mock, network_delete_mock,
                                 network_lookup_mock, create_mock,
                                 libvirt_mock):
     """Resources are released on deallocate. Network not created"""
     resources = lxc.LXCResources('foo', {'domain': 'bar'})
     resources._domain = mock.Mock()
     resources._network = mock.Mock()
     resources._hypervisor = mock.Mock()
     resources.deallocate()
     delete_mock.assert_called_with(resources.domain, mock.ANY, None)
     self.assertFalse(network_delete_mock.called)
     self.assertTrue(resources._hypervisor.close.called)
示例#7
0
文件: lxc_test.py 项目: zdzhjx/see
 def test_initialize_network(self, network_mock, create_mock, libvirt_mock):
     """Resources initializer with network."""
     network = mock.Mock()
     network.name.return_value = 'baz'
     network_mock.return_value = network
     resources = lxc.LXCResources('foo', {
         'domain': 'bar',
         'network': 'baz'
     })
     network_mock.assert_called_with(resources.hypervisor, 'foo', 'baz')
     create_mock.assert_called_with(resources.hypervisor,
                                    'foo',
                                    'bar',
                                    network_name='baz')
示例#8
0
文件: lxc_test.py 项目: xx-zhang/see
 def test_deallocate_filesystem(self, delete_mock, network_mock):
     """LXC Shared folder is cleaned up."""
     resources = lxc.LXCResources(
         'foo', {
             'domain': 'bar',
             'filesystem': {
                 'source_path': '/bar',
                 'target_path': '/baz'
             }
         })
     resources._domain = mock.Mock()
     resources._network = mock.Mock()
     resources._hypervisor = mock.Mock()
     resources.deallocate()
     delete_mock.assert_called_with(resources.domain, mock.ANY, '/bar/foo')
示例#9
0
文件: lxc_test.py 项目: xx-zhang/see
    def test_allocate_fail(self, create_mock, libvirt_mock, network_mock):
        """LXC network is destroyed on allocation fail."""
        network = mock.Mock()
        network.name.return_value = 'baz'
        network_mock.lookup = mock.Mock()
        network_mock.create.return_value = network

        resources = lxc.LXCResources('foo', {
            'domain': 'bar',
            'network': 'baz',
            'disk': {
                'image': '/foo/bar'
            }
        })
        create_mock.side_effect = libvirt.libvirtError('BOOM')
        with self.assertRaises(libvirt.libvirtError):
            resources.allocate()
        resources.deallocate()

        network_mock.delete.assert_called_with(resources.network)
示例#10
0
    def test_allocate_network(self, create_mock, network_mock, libvirt_mock):
        """Resources allocater with network."""
        network = mock.Mock()
        network.name.return_value = 'baz'
        network_mock.lookup = mock.Mock()
        network_mock.create.return_value = network

        resources = lxc.LXCResources('foo', {
            'domain': 'bar',
            'network': 'baz',
            'disk': {
                'image': '/foo/bar'
            }
        })
        resources.allocate()
        network_mock.create.assert_called_with(resources.hypervisor, 'foo',
                                               'baz')
        create_mock.assert_called_with(resources.hypervisor,
                                       'foo',
                                       'bar',
                                       network_name='baz')