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