Revision 6a654276 test/py/qa.qa_config_unittest.py

b/test/py/qa.qa_config_unittest.py
25 25
import tempfile
26 26
import shutil
27 27
import os
28
import operator
28 29

  
29 30
from ganeti import utils
30 31
from ganeti import serializer
......
272 273
        else:
273 274
          self.assertTrue(self.config.IsTemplateSupported(template))
274 275

  
276
  def testInstanceConversion(self):
277
    self.assertTrue(isinstance(self.config["instances"][0],
278
                               qa_config._QaInstance))
279

  
280
  def testAcquireAndReleaseInstance(self):
281
    self.assertFalse(compat.any(map(operator.attrgetter("used"),
282
                                    self.config["instances"])))
283

  
284
    inst = qa_config.AcquireInstance(_cfg=self.config)
285
    self.assertTrue(inst.used)
286
    self.assertTrue(inst.disk_template is None)
287

  
288
    qa_config.ReleaseInstance(inst)
289

  
290
    self.assertFalse(inst.used)
291
    self.assertTrue(inst.disk_template is None)
292

  
293
    self.assertFalse(compat.any(map(operator.attrgetter("used"),
294
                                    self.config["instances"])))
295

  
296
  def testAcquireInstanceTooMany(self):
297
    # Acquire all instances
298
    for _ in range(len(self.config["instances"])):
299
      inst = qa_config.AcquireInstance(_cfg=self.config)
300
      self.assertTrue(inst.used)
301
      self.assertTrue(inst.disk_template is None)
302

  
303
    # The next acquisition must fail
304
    self.assertRaises(qa_error.OutOfInstancesError,
305
                      qa_config.AcquireInstance, _cfg=self.config)
306

  
275 307

  
276 308
if __name__ == "__main__":
277 309
  testutils.GanetiTestProgram()

Also available in: Unified diff