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)
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)
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)
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)
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)
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)
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')
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')
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)
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')