Esempio n. 1
0
 def test_suspend(self):
     """A job that is in the WAITING state can be suspended."""
     job = Job(_status=JobStatus.WAITING)
     job.suspend()
     self.assertEqual(
         job.status,
         JobStatus.SUSPENDED)
Esempio n. 2
0
    def test_suspend_manages_transactions(self):
        # Job.suspend() does not commit the transaction by default.
        job = Job()
        job.start()
        with TransactionRecorder() as recorder:
            job.suspend()
            self.assertEqual([], recorder.transaction_calls)

        # If explicitly specified, Job.suspend() commits the transaction.
        job = Job()
        job.start()
        with TransactionRecorder() as recorder:
            job.suspend(manage_transaction=True)
            self.assertEqual(['commit'], recorder.transaction_calls)
Esempio n. 3
0
 def test_suspend_when_running(self):
     """When a job is running, attempting to suspend is valid."""
     job = Job(_status=JobStatus.RUNNING)
     job.suspend()
     self.assertEqual(JobStatus.SUSPENDED, job.status)