Revision 111bf531 test/ganeti.query_unittest.py
b/test/ganeti.query_unittest.py | ||
---|---|---|
67 | 67 |
|
68 | 68 |
fielddef = query._PrepareFieldList([ |
69 | 69 |
(query._MakeField("name", "Name", constants.QFT_TEXT, "Name"), |
70 |
STATIC, lambda ctx, item: item["name"]), |
|
70 |
STATIC, 0, lambda ctx, item: item["name"]),
|
|
71 | 71 |
(query._MakeField("master", "Master", constants.QFT_BOOL, "Master"), |
72 |
STATIC, lambda ctx, item: ctx.mastername == item["name"]), |
|
72 |
STATIC, 0, lambda ctx, item: ctx.mastername == item["name"]),
|
|
73 | 73 |
] + |
74 | 74 |
[(query._MakeField("disk%s.size" % i, "DiskSize%s" % i, |
75 | 75 |
constants.QFT_UNIT, "Disk size %s" % i), |
76 |
DISK, compat.partial(_GetDiskSize, i)) |
|
76 |
DISK, 0, compat.partial(_GetDiskSize, i))
|
|
77 | 77 |
for i in range(4)], []) |
78 | 78 |
|
79 | 79 |
q = query.Query(fielddef, ["name"]) |
... | ... | |
174 | 174 |
# Duplicate titles |
175 | 175 |
for (a, b) in [("name", "name"), ("NAME", "name")]: |
176 | 176 |
self.assertRaises(AssertionError, query._PrepareFieldList, [ |
177 |
(query._MakeField("name", b, constants.QFT_TEXT, "Name"), None, |
|
177 |
(query._MakeField("name", b, constants.QFT_TEXT, "Name"), None, 0,
|
|
178 | 178 |
lambda *args: None), |
179 |
(query._MakeField("other", a, constants.QFT_TEXT, "Other"), None, |
|
179 |
(query._MakeField("other", a, constants.QFT_TEXT, "Other"), None, 0,
|
|
180 | 180 |
lambda *args: None), |
181 | 181 |
], []) |
182 | 182 |
|
183 | 183 |
# Non-lowercase names |
184 | 184 |
self.assertRaises(AssertionError, query._PrepareFieldList, [ |
185 |
(query._MakeField("NAME", "Name", constants.QFT_TEXT, "Name"), None, |
|
185 |
(query._MakeField("NAME", "Name", constants.QFT_TEXT, "Name"), None, 0,
|
|
186 | 186 |
lambda *args: None), |
187 | 187 |
], []) |
188 | 188 |
self.assertRaises(AssertionError, query._PrepareFieldList, [ |
189 |
(query._MakeField("Name", "Name", constants.QFT_TEXT, "Name"), None, |
|
189 |
(query._MakeField("Name", "Name", constants.QFT_TEXT, "Name"), None, 0,
|
|
190 | 190 |
lambda *args: None), |
191 | 191 |
], []) |
192 | 192 |
|
193 | 193 |
# Empty name |
194 | 194 |
self.assertRaises(AssertionError, query._PrepareFieldList, [ |
195 |
(query._MakeField("", "Name", constants.QFT_TEXT, "Name"), None, |
|
195 |
(query._MakeField("", "Name", constants.QFT_TEXT, "Name"), None, 0,
|
|
196 | 196 |
lambda *args: None), |
197 | 197 |
], []) |
198 | 198 |
|
199 | 199 |
# Empty title |
200 | 200 |
self.assertRaises(AssertionError, query._PrepareFieldList, [ |
201 |
(query._MakeField("name", "", constants.QFT_TEXT, "Name"), None, |
|
201 |
(query._MakeField("name", "", constants.QFT_TEXT, "Name"), None, 0,
|
|
202 | 202 |
lambda *args: None), |
203 | 203 |
], []) |
204 | 204 |
|
205 | 205 |
# Whitespace in title |
206 | 206 |
self.assertRaises(AssertionError, query._PrepareFieldList, [ |
207 |
(query._MakeField("name", "Co lu mn", constants.QFT_TEXT, "Name"), None,
|
|
208 |
lambda *args: None), |
|
207 |
(query._MakeField("name", "Co lu mn", constants.QFT_TEXT, "Name"), |
|
208 |
None, 0, lambda *args: None),
|
|
209 | 209 |
], []) |
210 | 210 |
|
211 | 211 |
# No callable function |
212 | 212 |
self.assertRaises(AssertionError, query._PrepareFieldList, [ |
213 | 213 |
(query._MakeField("name", "Name", constants.QFT_TEXT, "Name"), |
214 |
None, None), |
|
214 |
None, 0, None),
|
|
215 | 215 |
], []) |
216 | 216 |
|
217 | 217 |
# Invalid documentation |
... | ... | |
219 | 219 |
"HelloWorld.", "only lowercase", ",", " x y z .\t", " "]: |
220 | 220 |
self.assertRaises(AssertionError, query._PrepareFieldList, [ |
221 | 221 |
(query._MakeField("name", "Name", constants.QFT_TEXT, doc), |
222 |
None, lambda *args: None), |
|
222 |
None, 0, lambda *args: None),
|
|
223 | 223 |
], []) |
224 | 224 |
|
225 | 225 |
def testUnknown(self): |
226 | 226 |
fielddef = query._PrepareFieldList([ |
227 | 227 |
(query._MakeField("name", "Name", constants.QFT_TEXT, "Name"), |
228 |
None, lambda _, item: "name%s" % item), |
|
228 |
None, 0, lambda _, item: "name%s" % item),
|
|
229 | 229 |
(query._MakeField("other0", "Other0", constants.QFT_TIMESTAMP, "Other"), |
230 |
None, lambda *args: 1234), |
|
230 |
None, 0, lambda *args: 1234),
|
|
231 | 231 |
(query._MakeField("nodata", "NoData", constants.QFT_NUMBER, "No data"), |
232 |
None, lambda *args: query._FS_NODATA ), |
|
232 |
None, 0, lambda *args: query._FS_NODATA ),
|
|
233 | 233 |
(query._MakeField("unavail", "Unavail", constants.QFT_BOOL, "Unavail"), |
234 |
None, lambda *args: query._FS_UNAVAIL), |
|
234 |
None, 0, lambda *args: query._FS_UNAVAIL),
|
|
235 | 235 |
], []) |
236 | 236 |
|
237 | 237 |
for selected in [["foo"], ["Hello", "World"], |
... | ... | |
268 | 268 |
|
269 | 269 |
def testAliases(self): |
270 | 270 |
fields = [ |
271 |
(query._MakeField("a", "a-title", constants.QFT_TEXT, "Field A"), None,
|
|
272 |
lambda *args: None), |
|
273 |
(query._MakeField("b", "b-title", constants.QFT_TEXT, "Field B"), None,
|
|
274 |
lambda *args: None), |
|
271 |
(query._MakeField("a", "a-title", constants.QFT_TEXT, "Field A"), |
|
272 |
None, 0, lambda *args: None),
|
|
273 |
(query._MakeField("b", "b-title", constants.QFT_TEXT, "Field B"), |
|
274 |
None, 0, lambda *args: None),
|
|
275 | 275 |
] |
276 | 276 |
# duplicate field |
277 | 277 |
self.assertRaises(AssertionError, query._PrepareFieldList, fields, |
... | ... | |
949 | 949 |
response = objects.QueryFieldsResponse.FromDict(result) |
950 | 950 |
self.assertEqual([(fdef.name, fdef.title) for fdef in response.fields], |
951 | 951 |
[(fdef2.name, fdef2.title) |
952 |
for (fdef2, _, _) in utils.NiceSort(fielddefs.values(), |
|
953 |
key=lambda x: x[0].name)]) |
|
952 |
for (fdef2, _, _, _) in utils.NiceSort(fielddefs.values(),
|
|
953 |
key=lambda x: x[0].name)])
|
|
954 | 954 |
|
955 | 955 |
def testSomeFields(self): |
956 | 956 |
rnd = random.Random(5357) |
... | ... | |
961 | 961 |
sample_size = rnd.randint(5, 20) |
962 | 962 |
else: |
963 | 963 |
sample_size = rnd.randint(1, max(1, len(fielddefs) - 1)) |
964 |
fields = [fdef for (fdef, _, _) in rnd.sample(fielddefs.values(), |
|
965 |
sample_size)] |
|
964 |
fields = [fdef for (fdef, _, _, _) in rnd.sample(fielddefs.values(),
|
|
965 |
sample_size)]
|
|
966 | 966 |
result = query.QueryFields(fielddefs, [fdef.name for fdef in fields]) |
967 | 967 |
self.assert_(isinstance(result, dict)) |
968 | 968 |
response = objects.QueryFieldsResponse.FromDict(result) |
Also available in: Unified diff