diff --git a/test/hs/Test/Ganeti/Objects.hs b/test/hs/Test/Ganeti/Objects.hs index 23ea054eb96c4ac3ff844b596b2786877055d287..9fdaec4b33e5e8163341183acad9ed6df6882da8 100644 --- a/test/hs/Test/Ganeti/Objects.hs +++ b/test/hs/Test/Ganeti/Objects.hs @@ -31,6 +31,8 @@ module Test.Ganeti.Objects ( testObjects , Node(..) , genConfigDataWithNetworks + , genDisk + , genDiskWithChildren , genEmptyCluster , genInstWithNets , genValidNetwork @@ -140,6 +142,21 @@ genInstWithNets nets = do new_inst = plain_inst { instNics = partial_nics } return new_inst +genDiskWithChildren :: Int -> Gen Disk +genDiskWithChildren num_children = do + logicalid <- arbitrary + children <- vectorOf num_children (genDiskWithChildren 0) + ivname <- genName + size <- arbitrary + mode <- arbitrary + name <- genMaybe genName + uuid <- genName + let disk = Disk logicalid children ivname size mode name uuid + return disk + +genDisk :: Gen Disk +genDisk = genDiskWithChildren 3 + -- | FIXME: This generates completely random data, without normal -- validation rules. $(genArbitrary ''PartialISpecParams)