Revision c0f6d0d8 test/ganeti.jqueue_unittest.py

b/test/ganeti.jqueue_unittest.py
43 43
class _FakeJob:
44 44
  def __init__(self, job_id, status):
45 45
    self.id = job_id
46
    self.writable = False
46 47
    self._status = status
47 48
    self._log = []
48 49

  
......
279 280
class TestQueuedJob(unittest.TestCase):
280 281
  def test(self):
281 282
    self.assertRaises(errors.GenericError, jqueue._QueuedJob,
282
                      None, 1, [])
283
                      None, 1, [], False)
283 284

  
284 285
  def testDefaults(self):
285 286
    job_id = 4260
......
289 290
      ]
290 291

  
291 292
    def _Check(job):
293
      self.assertTrue(job.writable)
292 294
      self.assertEqual(job.id, job_id)
293 295
      self.assertEqual(job.log_serial, 0)
294 296
      self.assert_(job.received_timestamp)
......
305 307
      self.assertEqual(job.GetInfo(["summary"]),
306 308
                       [[op.input.Summary() for op in job.ops]])
307 309

  
308
    job1 = jqueue._QueuedJob(None, job_id, ops)
310
    job1 = jqueue._QueuedJob(None, job_id, ops, True)
309 311
    _Check(job1)
310
    job2 = jqueue._QueuedJob.Restore(None, job1.Serialize())
312
    job2 = jqueue._QueuedJob.Restore(None, job1.Serialize(), True)
311 313
    _Check(job2)
312 314
    self.assertEqual(job1.Serialize(), job2.Serialize())
313 315

  
316
  def testWritable(self):
317
    job = jqueue._QueuedJob(None, 1, [opcodes.OpTestDelay()], False)
318
    self.assertFalse(job.writable)
319

  
320
    job = jqueue._QueuedJob(None, 1, [opcodes.OpTestDelay()], True)
321
    self.assertTrue(job.writable)
322

  
314 323
  def testPriority(self):
315 324
    job_id = 4283
316 325
    ops = [
......
323 332
      self.assertEqual(job.CalcStatus(), constants.JOB_STATUS_QUEUED)
324 333
      self.assert_(repr(job).startswith("<"))
325 334

  
326
    job = jqueue._QueuedJob(None, job_id, ops)
335
    job = jqueue._QueuedJob(None, job_id, ops, True)
327 336
    _Check(job)
328 337
    self.assert_(compat.all(op.priority == constants.OP_PRIO_DEFAULT
329 338
                            for op in job.ops))
......
409 418

  
410 419
    def _NewJob():
411 420
      job = jqueue._QueuedJob(None, 1,
412
                              [opcodes.OpTestDelay() for _ in range(10)])
421
                              [opcodes.OpTestDelay() for _ in range(10)],
422
                              True)
413 423
      self.assertEqual(job.CalcStatus(), constants.JOB_STATUS_QUEUED)
414 424
      self.assert_(compat.all(op.status == constants.OP_STATUS_QUEUED
415 425
                              for op in job.ops))
......
550 560

  
551 561
class _JobProcessorTestUtils:
552 562
  def _CreateJob(self, queue, job_id, ops):
553
    job = jqueue._QueuedJob(queue, job_id, ops)
563
    job = jqueue._QueuedJob(queue, job_id, ops, True)
554 564
    self.assertFalse(job.start_timestamp)
555 565
    self.assertFalse(job.end_timestamp)
556 566
    self.assertEqual(len(ops), len(job.ops))
......
972 982
      self.assert_(job.ops_iter)
973 983

  
974 984
      # Serialize and restore (simulates program restart)
975
      newjob = jqueue._QueuedJob.Restore(queue, job.Serialize())
985
      newjob = jqueue._QueuedJob.Restore(queue, job.Serialize(), True)
976 986
      self.assertFalse(newjob.ops_iter)
977 987
      self._TestPartial(newjob, successcount)
978 988

  
......
1016 1026
    self.assertRaises(IndexError, queue.GetNextUpdate)
1017 1027

  
1018 1028
    # ... also after being restored
1019
    job2 = jqueue._QueuedJob.Restore(queue, job.Serialize())
1029
    job2 = jqueue._QueuedJob.Restore(queue, job.Serialize(), True)
1020 1030
    # Calling the processor on a finished job should be a no-op
1021 1031
    self.assertTrue(jqueue._JobProcessor(queue, opexec, job2)())
1022 1032
    self.assertRaises(IndexError, queue.GetNextUpdate)
......
1117 1127
    self._CheckLogMessages(job, logmsgcount)
1118 1128

  
1119 1129
    # Serialize and restore (simulates program restart)
1120
    newjob = jqueue._QueuedJob.Restore(queue, job.Serialize())
1130
    newjob = jqueue._QueuedJob.Restore(queue, job.Serialize(), True)
1121 1131
    self._CheckLogMessages(newjob, logmsgcount)
1122 1132

  
1123 1133
    # Check each message

Also available in: Unified diff