예제 #1
0
 def __init__(self):
     self.power = ipmitool.IPMIPower()
     self.console = ipmitool.IPMIShellinaboxConsole()
     self.deploy = fake.FakeDeploy()
     self.vendor = ipmitool.VendorPassthru()
     self.management = ipmitool.IPMIManagement()
     # NOTE(dtantsur): unlike other uses of Inspector, this one is
     # unconditional, as this driver is designed for testing inspector
     # integration.
     self.inspect = inspector.Inspector()
예제 #2
0
 def test_node_locked(self, mock_check, mock_acquire):
     iter_nodes_ret = [('1', 'd1'), ('2', 'd2')]
     mock_acquire.side_effect = iter([exception.NodeLocked("boom")] *
                                     len(iter_nodes_ret))
     mgr = mock.MagicMock(spec=['iter_nodes'])
     mgr.iter_nodes.return_value = iter_nodes_ret
     inspector.Inspector()._periodic_check_result(mgr,
                                                  mock.sentinel.context)
     self.assertFalse(mock_check.called)
     self.assertEqual(2, mock_acquire.call_count)
예제 #3
0
 def test_ok(self, mock_check, mock_acquire):
     mgr = mock.MagicMock(spec=['iter_nodes'])
     mgr.iter_nodes.return_value = [('1', 'd1'), ('2', 'd2')]
     tasks = [mock.sentinel.task1, mock.sentinel.task2]
     mock_acquire.side_effect = (mock.MagicMock(__enter__=mock.MagicMock(
         return_value=task)) for task in tasks)
     inspector.Inspector()._periodic_check_result(mgr,
                                                  mock.sentinel.context)
     mock_check.assert_any_call(tasks[0])
     mock_check.assert_any_call(tasks[1])
     self.assertEqual(2, mock_acquire.call_count)
예제 #4
0
 def setUp(self):
     super(BaseTestCase, self).setUp()
     self.config(enabled=True, group='inspector')
     self.node = obj_utils.get_test_node(self.context,
                                         inspect_interface='inspector')
     self.iface = inspector.Inspector()
     self.task = mock.MagicMock(spec=task_manager.TaskManager)
     self.task.context = self.context
     self.task.shared = False
     self.task.node = self.node
     self.task.driver = mock.Mock(spec=['inspect'], inspect=self.iface)
     self.api_version = (1, 0)
예제 #5
0
 def setUp(self):
     super(BaseTestCase, self).setUp()
     self.node = obj_utils.create_test_node(self.context,
                                            inspect_interface='inspector')
     self.iface = inspector.Inspector()
     self.task = mock.MagicMock(spec=task_manager.TaskManager)
     self.task.context = self.context
     self.task.shared = False
     self.task.node = self.node
     self.task.driver = mock.Mock(
         spec=['boot', 'network', 'inspect', 'power'], inspect=self.iface)
     self.driver = self.task.driver
예제 #6
0
 def test_init_ok(self):
     self.config(enabled=True, group='inspector')
     inspector.Inspector()
예제 #7
0
 def test_disabled(self):
     self.config(enabled=False, group='inspector')
     self._do_mock()
     self.assertIsNone(self.driver.inspect)
     # Direct loading of the class is still possible
     inspector.Inspector()