On Thu, Nov 06, 2014 at 12:30:47AM +0200, Alex Pyrgiotis wrote:
> Check if the GetDiskInfo and GetDiskInfoByName functions operate as
> expected.
>
> Signed-off-by: Alex Pyrgiotis <[email protected]>
>
> diff --git a/test/py/ganeti.config_unittest.py b/test/py/ganeti.config_
unittest.py
> index efcf9cb..22f34dd 100755
> --- a/test/py/ganeti.config_unittest.py
> +++ b/test/py/ganeti.config_unittest.py
> @@ -148,6 +148,48 @@ class TestConfigRunner(unittest.TestCase):
>      self.assertEqual(all_nodes[0], iobj.primary_node,
>                       msg="Primary node not first node in list")
>
> +  def testDisksInfo(self):
> +    """Check if the GetDiskInfo function works as intented."""
> +    # Create mock config writer
> +    cfg = self._get_object_mock()
> +
> +    # Construct instance and add a plain disk
> +    inst = self._create_instance(cfg)
> +    cfg.AddInstance(inst, "my-job")
> +    disk = objects.Disk(dev_type=constants.DT_PLAIN, size=128,
> +                        logical_id=("myxenvg", "disk25494"),
uuid="disk0",
> +                        name="name0")
> +    cfg.AddInstanceDisk(inst.uuid, disk)
> +
> +    # Test 1 - Search this disk by UUID
> +    result = cfg.GetDiskInfo("disk0")
> +    self.assertEqual(disk, result)
> +
> +    # Test 2 - Search this disk by name
> +    result = cfg.GetDiskInfoByName("name0")
> +    self.assertEqual(disk, result)
> +
> +    # Test 3 - Search this disk by wrong UUID and check that 'None' is
returned
> +    result = cfg.GetDiskInfo("disk1134")
> +    self.assertEqual(None, result)
> +
> +    # Test 4 - Search this disk by wrong name and check that 'None' is
returned
> +    result = cfg.GetDiskInfoByName("name1134")
> +    self.assertEqual(None, result)
> +
> +    # Test 5 - Add an extra disk with different UUID but same name. Then,
> +    # search for a disk with that name and assert that we raise an
exception
> +    # about two disks with the same name.
> +    disk = objects.Disk(dev_type=constants.DT_PLAIN, size=128,
> +                        logical_id=("myxenvg", "disk25494"),
uuid="disk1",
> +                        name="name0")
> +    cfg.AddInstanceDisk(inst.uuid, disk)
> +
> +    with self.assertRaises(errors.ConfigurationError) as cm:
> +      cfg.GetDiskInfoByName("name0")
> +    self.assertEqual(cm.exception.message, "There are 2 disks with this
name:"
> +                     " name0")
> +

Please use separate test methods.

>    def testInstNodesNoDisks(self):
>      """Test all_nodes/secondary_nodes when there are no disks"""
>      # construct instance
> --
> 1.7.10.4
>

--
Google Germany GmbH
Dienerstr. 12
80331 München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores

Reply via email to