Revision 3f73b3ae

b/lib/backend.py
622 622
  return _GetVgInfo(name, excl_stor)
623 623

  
624 624

  
625
def _GetVgInfo(name, excl_stor):
625
def _GetVgInfo(
626
    name, excl_stor, info_fn=bdev.LogicalVolume.GetVGInfo):
626 627
  """Retrieves information about a LVM volume group.
627 628

  
628 629
  """
629 630
  # TODO: GetVGInfo supports returning information for multiple VGs at once
630
  vginfo = bdev.LogicalVolume.GetVGInfo([name], excl_stor)
631
  vginfo = info_fn([name], excl_stor)
631 632
  if vginfo:
632 633
    vg_free = int(round(vginfo[0][0], 0))
633 634
    vg_size = int(round(vginfo[0][1], 0))
......
651 652
  """
652 653
  excl_stor = _CheckLvmStorageParams(params)
653 654
  return _GetVgSpindlesInfo(name, excl_stor)
654
 
655

  
655 656

  
656 657
def _GetVgSpindlesInfo(
657 658
    name, excl_stor, info_fn=bdev.LogicalVolume.GetVgSpindlesInfo):
b/test/py/ganeti.backend_unittest.py
734 734
    self.assertEqual(0, result["storage_size"])
735 735

  
736 736

  
737
class TestGetVgSpindlesInfo(unittest.TestCase):
738

  
739
  def testValidInput(self):
740
    self.vg_free = 13
741
    self.vg_size = 31
742
    self.mock_fn = mock.Mock(return_value=[(self.vg_free, self.vg_size)])
743
    name = "myvg"
744
    excl_stor = True
745
    result = backend._GetVgInfo(name, excl_stor, info_fn=self.mock_fn)
746
    self.mock_fn.assert_called_with([name], excl_stor)
747
    self.assertEqual(name, result["name"])
748
    self.assertEqual(constants.ST_LVM_VG, result["type"])
749
    self.assertEqual(self.vg_free, result["storage_free"])
750
    self.assertEqual(self.vg_size, result["storage_size"])
751

  
752
  def testNoExclStor(self):
753
    name = "myvg"
754
    excl_stor = True
755
    self.mock_fn = mock.Mock(return_value=None)
756
    result = backend._GetVgInfo(name, excl_stor, info_fn=self.mock_fn)
757
    self.mock_fn.assert_called_with([name], excl_stor)
758
    self.assertEqual(name, result["name"])
759
    self.assertEqual(constants.ST_LVM_VG, result["type"])
760
    self.assertEqual(None, result["storage_free"])
761
    self.assertEqual(None, result["storage_size"])
762

  
763

  
737 764
class TestGetNodeInfo(unittest.TestCase):
738 765

  
739 766
  _SOME_RESULT = None

Also available in: Unified diff