class TestVdsm(TestBase): def setUp(self): config = Config('test', 'vdsm') def fakeSecureConnect(self): return MagicMock() Vdsm._secureConnect = fakeSecureConnect self.vdsm = Vdsm(self.logger, config) self.vdsm.prepare() def test_connect(self): self.vdsm.server.list = MagicMock() self.vdsm.server.list.return_value = { 'status': { 'code': 0 }, 'vmList': [{ 'vmId': '1', 'status': 'Down' }, { 'vmId': '2', 'status': 'Up' }, { 'vmId': '3', 'status': 'Up' }] } domains = self.vdsm.listDomains() self.assertEquals([d.uuid for d in domains], ['1', '2', '3']) self.vdsm.server.list.assert_called_once_with(True)
class TestVdsm(TestBase): def setUp(self): config = Config("test", "vdsm") def fakeSecureConnect(self): return MagicMock() Vdsm._secureConnect = fakeSecureConnect self.vdsm = Vdsm(self.logger, config) self.vdsm.prepare() def test_connect(self): self.vdsm.server.list = MagicMock() self.vdsm.server.list.return_value = { "status": {"code": 0}, "vmList": [{"vmId": "1", "status": "Down"}, {"vmId": "2", "status": "Up"}, {"vmId": "3", "status": "Up"}], } domains = self.vdsm.listDomains() self.assertEquals([d.uuid for d in domains], ["1", "2", "3"]) self.vdsm.server.list.assert_called_once_with(True)
class TestVdsm(TestBase): def create_config(self, name, wrapper, **kwargs): config = VdsmConfigSection(name, wrapper) config.update(**kwargs) config.validate() return config def setUp(self): config = self.create_config('test', None, type='vdsm') Vdsm._create_ssl_context = MagicMock() self.vdsm = Vdsm(self.logger, config, None) self.mock_jsonrpc_client = MagicMock() mock_jsonrpc_client_factory = MagicMock( return_value=self.mock_jsonrpc_client) self.patch_jsonrpc_client = patch( 'virtwho.virt.vdsm.vdsm.JsonRpcClient', mock_jsonrpc_client_factory) self.patch_xmlrpclib = patch('virtwho.virt.vdsm.vdsm.xmlrpc_client', MagicMock()) self.patch_jsonrpc_client.start() self.patch_xmlrpclib.start() def tearDown(self): self.patch_jsonrpc_client.stop() self.patch_xmlrpclib.stop() def test_connect_via_xmlrpc(self): self.mock_jsonrpc_client.connect = MagicMock(side_effect=IOError) self.vdsm.prepare() self.assertIsNone(self.vdsm.jsonrpc_client) self.assertIsNotNone(self.vdsm.xmlrpc_client) self.vdsm.xmlrpc_client.list = MagicMock() self.vdsm.xmlrpc_client.list.return_value = { 'status': { 'code': 0 }, 'vmList': [{ 'vmId': '1', 'status': 'Down' }, { 'vmId': '2', 'status': 'Up' }, { 'vmId': '3', 'status': 'Up' }] } domains = self.vdsm.listDomains() self.assertIsNone(self.vdsm.jsonrpc_client) self.assertEquals([d.uuid for d in domains], ['1', '2', '3']) self.assertEquals( [d.state for d in domains], [Guest.STATE_SHUTOFF, Guest.STATE_RUNNING, Guest.STATE_RUNNING]) self.assertEqual([d.virtWhoType for d in domains], ['vdsm', 'vdsm', 'vdsm']) self.vdsm.xmlrpc_client.list.assert_called_once_with(True) def test_connect_via_jsonrpc(self): self.mock_jsonrpc_client.connect = MagicMock() self.vdsm.prepare() self.assertIsNotNone(self.vdsm.jsonrpc_client) self.assertIsNone(self.vdsm.xmlrpc_client) self.vdsm.jsonrpc_client.call = MagicMock() self.vdsm.jsonrpc_client.call.return_value = [{ 'vmId': '1', 'status': 'Down' }, { 'vmId': '2', 'status': 'Up' }, { 'vmId': '3', 'status': 'Up' }] domains = self.vdsm.listDomains() self.assertIsNone(self.vdsm.xmlrpc_client) self.assertEquals([d.uuid for d in domains], ['1', '2', '3']) self.assertEquals( [d.state for d in domains], [Guest.STATE_SHUTOFF, Guest.STATE_RUNNING, Guest.STATE_RUNNING]) self.assertEqual([d.virtWhoType for d in domains], ['vdsm', 'vdsm', 'vdsm']) self.vdsm.jsonrpc_client.call.assert_called_once_with('Host.getVMList', onlyUUID=False)
class TestVdsm(TestBase): def create_config(self, name, wrapper, **kwargs): config = VdsmConfigSection(name, wrapper) config.update(**kwargs) config.validate() return config def setUp(self): config = self.create_config('test', None, type='vdsm') Vdsm._create_ssl_context = MagicMock() self.vdsm = Vdsm(self.logger, config, None) self.mock_jsonrpc_client = MagicMock() mock_jsonrpc_client_factory = MagicMock(return_value=self.mock_jsonrpc_client) self.patch_jsonrpc_client = patch('virtwho.virt.vdsm.vdsm.JsonRpcClient', mock_jsonrpc_client_factory) self.patch_xmlrpclib = patch('virtwho.virt.vdsm.vdsm.xmlrpc_client', MagicMock()) self.patch_jsonrpc_client.start() self.patch_xmlrpclib.start() def tearDown(self): self.patch_jsonrpc_client.stop() self.patch_xmlrpclib.stop() def test_connect_via_xmlrpc(self): self.mock_jsonrpc_client.connect = MagicMock(side_effect=IOError) self.vdsm.prepare() self.assertIsNone(self.vdsm.jsonrpc_client) self.assertIsNotNone(self.vdsm.xmlrpc_client) self.vdsm.xmlrpc_client.list = MagicMock() self.vdsm.xmlrpc_client.list.return_value = { 'status': { 'code': 0 }, 'vmList': [ { 'vmId': '1', 'status': 'Down' }, { 'vmId': '2', 'status': 'Up' }, { 'vmId': '3', 'status': 'Up' } ] } domains = self.vdsm.listDomains() self.assertIsNone(self.vdsm.jsonrpc_client) self.assertEquals([d.uuid for d in domains], ['1', '2', '3']) self.assertEquals([d.state for d in domains], [Guest.STATE_SHUTOFF, Guest.STATE_RUNNING, Guest.STATE_RUNNING]) self.assertEqual([d.virtWhoType for d in domains], ['vdsm', 'vdsm', 'vdsm']) self.vdsm.xmlrpc_client.list.assert_called_once_with(True) def test_connect_via_jsonrpc(self): self.mock_jsonrpc_client.connect = MagicMock() self.vdsm.prepare() self.assertIsNotNone(self.vdsm.jsonrpc_client) self.assertIsNone(self.vdsm.xmlrpc_client) self.vdsm.jsonrpc_client.call = MagicMock() self.vdsm.jsonrpc_client.call.return_value = [ { 'vmId': '1', 'status': 'Down' }, { 'vmId': '2', 'status': 'Up' }, { 'vmId': '3', 'status': 'Up' } ] domains = self.vdsm.listDomains() self.assertIsNone(self.vdsm.xmlrpc_client) self.assertEquals([d.uuid for d in domains], ['1', '2', '3']) self.assertEquals([d.state for d in domains], [Guest.STATE_SHUTOFF, Guest.STATE_RUNNING, Guest.STATE_RUNNING]) self.assertEqual([d.virtWhoType for d in domains], ['vdsm', 'vdsm', 'vdsm']) self.vdsm.jsonrpc_client.call.assert_called_once_with('Host.getVMList', onlyUUID=False)