Revision d8b7ff5f
b/test/ganeti.query_unittest.py | ||
---|---|---|
761 | 761 |
"ADMIN_down"])) |
762 | 762 |
|
763 | 763 |
|
764 |
class TestGroupQuery(unittest.TestCase): |
|
765 |
|
|
766 |
def setUp(self): |
|
767 |
self.groups = [ |
|
768 |
objects.NodeGroup(name="default", |
|
769 |
uuid="c0e89160-18e7-11e0-a46e-001d0904baeb", |
|
770 |
alloc_policy=constants.ALLOC_POLICY_PREFERRED), |
|
771 |
objects.NodeGroup(name="restricted", |
|
772 |
uuid="d2a40a74-18e7-11e0-9143-001d0904baeb", |
|
773 |
alloc_policy=constants.ALLOC_POLICY_LAST_RESORT), |
|
774 |
] |
|
775 |
|
|
776 |
def _Create(self, selected): |
|
777 |
return query.Query(query.GROUP_FIELDS, selected) |
|
778 |
|
|
779 |
def testSimple(self): |
|
780 |
q = self._Create(["name", "uuid", "alloc_policy"]) |
|
781 |
gqd = query.GroupQueryData(self.groups, None, None) |
|
782 |
|
|
783 |
self.assertEqual(q.RequestedData(), set([query.GQ_CONFIG])) |
|
784 |
|
|
785 |
self.assertEqual(q.Query(gqd), |
|
786 |
[[(constants.QRFS_NORMAL, "default"), |
|
787 |
(constants.QRFS_NORMAL, "c0e89160-18e7-11e0-a46e-001d0904baeb"), |
|
788 |
(constants.QRFS_NORMAL, constants.ALLOC_POLICY_PREFERRED) |
|
789 |
], |
|
790 |
[(constants.QRFS_NORMAL, "restricted"), |
|
791 |
(constants.QRFS_NORMAL, "d2a40a74-18e7-11e0-9143-001d0904baeb"), |
|
792 |
(constants.QRFS_NORMAL, constants.ALLOC_POLICY_LAST_RESORT) |
|
793 |
], |
|
794 |
]) |
|
795 |
|
|
796 |
def testNodes(self): |
|
797 |
groups_to_nodes = { |
|
798 |
"c0e89160-18e7-11e0-a46e-001d0904baeb": ["node1", "node2"], |
|
799 |
"d2a40a74-18e7-11e0-9143-001d0904baeb": ["node1", "node10", "node9"], |
|
800 |
} |
|
801 |
|
|
802 |
q = self._Create(["name", "node_cnt", "node_list"]) |
|
803 |
gqd = query.GroupQueryData(self.groups, groups_to_nodes, None) |
|
804 |
|
|
805 |
self.assertEqual(q.RequestedData(), set([query.GQ_CONFIG, query.GQ_NODE])) |
|
806 |
|
|
807 |
self.assertEqual(q.Query(gqd), |
|
808 |
[[(constants.QRFS_NORMAL, "default"), |
|
809 |
(constants.QRFS_NORMAL, 2), |
|
810 |
(constants.QRFS_NORMAL, ["node1", "node2"]), |
|
811 |
], |
|
812 |
[(constants.QRFS_NORMAL, "restricted"), |
|
813 |
(constants.QRFS_NORMAL, 3), |
|
814 |
(constants.QRFS_NORMAL, ["node1", "node9", "node10"]), |
|
815 |
], |
|
816 |
]) |
|
817 |
|
|
818 |
def testInstances(self): |
|
819 |
groups_to_instances = { |
|
820 |
"c0e89160-18e7-11e0-a46e-001d0904baeb": ["inst1", "inst2"], |
|
821 |
"d2a40a74-18e7-11e0-9143-001d0904baeb": ["inst1", "inst10", "inst9"], |
|
822 |
} |
|
823 |
|
|
824 |
q = self._Create(["pinst_cnt", "pinst_list"]) |
|
825 |
gqd = query.GroupQueryData(self.groups, None, groups_to_instances) |
|
826 |
|
|
827 |
self.assertEqual(q.RequestedData(), set([query.GQ_INST])) |
|
828 |
|
|
829 |
self.assertEqual(q.Query(gqd), |
|
830 |
[[(constants.QRFS_NORMAL, 2), |
|
831 |
(constants.QRFS_NORMAL, ["inst1", "inst2"]), |
|
832 |
], |
|
833 |
[(constants.QRFS_NORMAL, 3), |
|
834 |
(constants.QRFS_NORMAL, ["inst1", "inst9", "inst10"]), |
|
835 |
], |
|
836 |
]) |
|
837 |
|
|
838 |
|
|
764 | 839 |
class TestQueryFields(unittest.TestCase): |
765 | 840 |
def testAllFields(self): |
766 | 841 |
for fielddefs in query.ALL_FIELD_LISTS: |
Also available in: Unified diff