Revision 526f866b test/ganeti.query_unittest.py
b/test/ganeti.query_unittest.py | ||
---|---|---|
1777 | 1777 |
self.assertEqual(q.Query(data), |
1778 | 1778 |
[[(constants.RS_NORMAL, i)] for i in range(50, 100)]) |
1779 | 1779 |
|
1780 |
def testFilterLessGreaterJobId(self): |
|
1781 |
fielddefs = query._PrepareFieldList([ |
|
1782 |
(query._MakeField("id", "ID", constants.QFT_TEXT, "Job ID"), |
|
1783 |
None, query.QFF_JOB_ID, lambda ctx, item: item), |
|
1784 |
], []) |
|
1785 |
|
|
1786 |
data = ["1", "2", "3", "10", "102", "120", "125", "15", "100", "7"] |
|
1787 |
|
|
1788 |
assert data != utils.NiceSort(data), "Test data should not be sorted" |
|
1789 |
|
|
1790 |
q = query.Query(fielddefs, ["id"], qfilter=["<", "id", "20"]) |
|
1791 |
self.assertTrue(q.RequestedNames() is None) |
|
1792 |
self.assertEqual(q.Query(data), [ |
|
1793 |
[(constants.RS_NORMAL, "1")], |
|
1794 |
[(constants.RS_NORMAL, "2")], |
|
1795 |
[(constants.RS_NORMAL, "3")], |
|
1796 |
[(constants.RS_NORMAL, "10")], |
|
1797 |
[(constants.RS_NORMAL, "15")], |
|
1798 |
[(constants.RS_NORMAL, "7")], |
|
1799 |
]) |
|
1800 |
|
|
1801 |
q = query.Query(fielddefs, ["id"], qfilter=[">=", "id", "100"]) |
|
1802 |
self.assertTrue(q.RequestedNames() is None) |
|
1803 |
self.assertEqual(q.Query(data), [ |
|
1804 |
[(constants.RS_NORMAL, "102")], |
|
1805 |
[(constants.RS_NORMAL, "120")], |
|
1806 |
[(constants.RS_NORMAL, "125")], |
|
1807 |
[(constants.RS_NORMAL, "100")], |
|
1808 |
]) |
|
1809 |
|
|
1810 |
# Integers are no valid job IDs |
|
1811 |
self.assertRaises(errors.ParameterError, query.Query, |
|
1812 |
fielddefs, ["id"], qfilter=[">=", "id", 10]) |
|
1813 |
|
|
1814 |
def testFilterLessGreaterSplitTimestamp(self): |
|
1815 |
fielddefs = query._PrepareFieldList([ |
|
1816 |
(query._MakeField("ts", "Timestamp", constants.QFT_OTHER, "Timestamp"), |
|
1817 |
None, query.QFF_SPLIT_TIMESTAMP, lambda ctx, item: item), |
|
1818 |
], []) |
|
1819 |
|
|
1820 |
data = [ |
|
1821 |
utils.SplitTime(0), |
|
1822 |
utils.SplitTime(0.1), |
|
1823 |
utils.SplitTime(18224.7872), |
|
1824 |
utils.SplitTime(919896.12623), |
|
1825 |
utils.SplitTime(999), |
|
1826 |
utils.SplitTime(989.9999), |
|
1827 |
] |
|
1828 |
|
|
1829 |
for i in [0, [0, 0]]: |
|
1830 |
q = query.Query(fielddefs, ["ts"], qfilter=["<", "ts", i]) |
|
1831 |
self.assertTrue(q.RequestedNames() is None) |
|
1832 |
self.assertEqual(q.Query(data), []) |
|
1833 |
|
|
1834 |
q = query.Query(fielddefs, ["ts"], qfilter=["<", "ts", 1000]) |
|
1835 |
self.assertTrue(q.RequestedNames() is None) |
|
1836 |
self.assertEqual(q.Query(data), [ |
|
1837 |
[(constants.RS_NORMAL, (0, 0))], |
|
1838 |
[(constants.RS_NORMAL, (0, 100000))], |
|
1839 |
[(constants.RS_NORMAL, (999, 0))], |
|
1840 |
[(constants.RS_NORMAL, (989, 999900))], |
|
1841 |
]) |
|
1842 |
|
|
1843 |
q = query.Query(fielddefs, ["ts"], qfilter=[">=", "ts", 5000.3]) |
|
1844 |
self.assertTrue(q.RequestedNames() is None) |
|
1845 |
self.assertEqual(q.Query(data), [ |
|
1846 |
[(constants.RS_NORMAL, (18224, 787200))], |
|
1847 |
[(constants.RS_NORMAL, (919896, 126230))], |
|
1848 |
]) |
|
1849 |
|
|
1850 |
for i in [18224.7772, utils.SplitTime(18224.7772)]: |
|
1851 |
q = query.Query(fielddefs, ["ts"], qfilter=[">=", "ts", i]) |
|
1852 |
self.assertTrue(q.RequestedNames() is None) |
|
1853 |
self.assertEqual(q.Query(data), [ |
|
1854 |
[(constants.RS_NORMAL, (18224, 787200))], |
|
1855 |
[(constants.RS_NORMAL, (919896, 126230))], |
|
1856 |
]) |
|
1857 |
|
|
1858 |
q = query.Query(fielddefs, ["ts"], qfilter=[">", "ts", 18224.7880]) |
|
1859 |
self.assertTrue(q.RequestedNames() is None) |
|
1860 |
self.assertEqual(q.Query(data), [ |
|
1861 |
[(constants.RS_NORMAL, (919896, 126230))], |
|
1862 |
]) |
|
1863 |
|
|
1780 | 1864 |
|
1781 | 1865 |
if __name__ == "__main__": |
1782 | 1866 |
testutils.GanetiTestProgram() |
Also available in: Unified diff