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