Esempio n. 1
0
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)
Esempio n. 2
0
    def setUp(self):
        config = Config('test', 'vdsm')

        def fakeSecureConnect(self):
            return MagicMock()

        Vdsm._secureConnect = fakeSecureConnect
        self.vdsm = Vdsm(self.logger, config)
        self.vdsm.prepare()
Esempio n. 3
0
    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()
Esempio n. 4
0
    def setUp(self):
        config = Config("test", "vdsm")

        def fakeSecureConnect(self):
            return MagicMock()

        Vdsm._secureConnect = fakeSecureConnect
        self.vdsm = Vdsm(self.logger, config)
        self.vdsm.prepare()
Esempio n. 5
0
    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()
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
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)