Revision 58e356a9 test/py/ganeti.hypervisor.hv_xen_unittest.py

b/test/py/ganeti.hypervisor.hv_xen_unittest.py
27 27
import shutil
28 28
import random
29 29
import os
30
import mock
30 31

  
31 32
from ganeti import constants
32 33
from ganeti import objects
......
335 336
    self.assertRaises(KeyError, hv_xen._GetConfigFileDiskData, disks, "sd")
336 337

  
337 338

  
338
class TestXenHypervisorUnknownCommand(unittest.TestCase):
339
  def test(self):
339
class TestXenHypervisorRunXen(unittest.TestCase):
340

  
341
  XEN_SUB_CMD = "help"
342

  
343
  def testCommandUnknown(self):
340 344
    cmd = "#unknown command#"
341 345
    self.assertFalse(cmd in constants.KNOWN_XEN_COMMANDS)
342 346
    hv = hv_xen.XenHypervisor(_cfgdir=NotImplemented,
......
344 348
                              _cmd=cmd)
345 349
    self.assertRaises(errors.ProgrammerError, hv._RunXen, [])
346 350

  
351
  def testCommandValid(self):
352
    xen_cmd = "xm"
353
    mock_run_cmd = mock.Mock()
354
    hv = hv_xen.XenHypervisor(_cfgdir=NotImplemented,
355
                              _run_cmd_fn=mock_run_cmd)
356
    hv._RunXen([self.XEN_SUB_CMD])
357
    mock_run_cmd.assert_called_with([xen_cmd, self.XEN_SUB_CMD])
358

  
359
  def testCommandFromHvparams(self):
360
    expected_xen_cmd = "xl"
361
    hvparams = {constants.HV_XEN_CMD: constants.XEN_CMD_XL}
362
    mock_run_cmd = mock.Mock()
363
    hv = hv_xen.XenHypervisor(_cfgdir=NotImplemented,
364
                              _run_cmd_fn=mock_run_cmd)
365
    hv._RunXen([self.XEN_SUB_CMD], hvparams=hvparams)
366
    mock_run_cmd.assert_called_with([expected_xen_cmd, self.XEN_SUB_CMD])
367

  
368

  
369
class TestXenHypervisorGetInstanceList(unittest.TestCase):
370

  
371
  RESULT_OK = utils.RunResult(0, None, "", "", "", None, None)
372
  XEN_LIST = "list"
373

  
374
  def testOk(self):
375
    expected_xen_cmd = "xm"
376
    mock_run_cmd = mock.Mock( return_value=self.RESULT_OK )
377
    hv = hv_xen.XenHypervisor(_cfgdir=NotImplemented,
378
                              _run_cmd_fn=mock_run_cmd)
379
    hv._GetInstanceList(True)
380
    mock_run_cmd.assert_called_with([expected_xen_cmd, self.XEN_LIST])
381

  
382
  def testFromHvparams(self):
383
    expected_xen_cmd = "xl"
384
    hvparams = {constants.HV_XEN_CMD: constants.XEN_CMD_XL}
385
    mock_run_cmd = mock.Mock( return_value=self.RESULT_OK )
386
    hv = hv_xen.XenHypervisor(_cfgdir=NotImplemented,
387
                              _run_cmd_fn=mock_run_cmd)
388
    hv._GetInstanceList(True, hvparams=hvparams)
389
    mock_run_cmd.assert_called_with([expected_xen_cmd, self.XEN_LIST])
390

  
391

  
392
class TestXenHypervisorListInstances(unittest.TestCase):
393

  
394
  RESULT_OK = utils.RunResult(0, None, "", "", "", None, None)
395
  XEN_LIST = "list"
396

  
397
  def testDefaultXm(self):
398
    expected_xen_cmd = "xm"
399
    mock_run_cmd = mock.Mock( return_value=self.RESULT_OK )
400
    hv = hv_xen.XenHypervisor(_cfgdir=NotImplemented,
401
                              _run_cmd_fn=mock_run_cmd)
402
    hv.ListInstances()
403
    mock_run_cmd.assert_called_with([expected_xen_cmd, self.XEN_LIST])
404

  
405
  def testHvparamsXl(self):
406
    expected_xen_cmd = "xl"
407
    hvparams = {constants.HV_XEN_CMD: constants.XEN_CMD_XL}
408
    mock_run_cmd = mock.Mock( return_value=self.RESULT_OK )
409
    hv = hv_xen.XenHypervisor(_cfgdir=NotImplemented,
410
                              _run_cmd_fn=mock_run_cmd)
411
    hv.ListInstances(hvparams=hvparams)
412
    mock_run_cmd.assert_called_with([expected_xen_cmd, self.XEN_LIST])
413

  
347 414

  
348 415
class TestXenHypervisorWriteConfigFile(unittest.TestCase):
349 416
  def setUp(self):
......
620 687

  
621 688
        if fail:
622 689
          try:
623
            hv._StopInstance(name, force)
690
            hv._StopInstance(name, force, None)
624 691
          except errors.HypervisorError, err:
625 692
            self.assertTrue(str(err).startswith("Failed to stop instance"))
626 693
          else:
......
629 696
                           msg=("Configuration was removed when stopping"
630 697
                                " instance failed"))
631 698
        else:
632
          hv._StopInstance(name, force)
699
          hv._StopInstance(name, force, None)
633 700
          self.assertFalse(os.path.exists(cfgfile))
634 701

  
635 702
  def _MigrateNonRunningInstCmd(self, cmd):

Also available in: Unified diff