def test_eta(self): """ When an `eta` is datetime, it uses it """ now = datetime.now() job_a = Job(func=task_a, eta=now) self.assertEqual(job_a.eta, now)
def test_new_job(self): """ Create a job """ test_job = Job(func=task_a) self.assertEqual(test_job.func, task_a)
def test_priority(self): """ The lower the priority number, the higher the priority is""" job_a = Job(func=task_a, priority=10) job_b = Job(func=task_b, priority=5) self.assertGreater(job_a, job_b)
def test_store(self): test_job = Job(func=task_a) storage = OpenERPJobStorage(self.session) storage.store(test_job) stored = self.queue_job.search([('uuid', '=', test_job.uuid)]) self.assertEqual(len(stored), 1)
def test_context_uuid(self): test_job = Job(func=dummy_task_context) result = test_job.perform(self.session) key_present = 'job_uuid' in result self.assertTrue(key_present) self.assertEqual(result['job_uuid'], test_job._uuid)
def test_compare_apple_and_orange(self): with self.assertRaises(TypeError): Job(func=task_a) != 1
def test_set_failed(self): job_a = Job(func=task_a) job_a.set_failed(exc_info='failed test') self.assertEquals(job_a.state, FAILED) self.assertEquals(job_a.exc_info, 'failed test')
def test_invalid_function(self): with self.assertRaises(TypeError): Job(1)
def test_infinite_retryable_error(self): test_job = Job(func=retryable_error_task, max_retries=0) self.assertEqual(test_job.retry, 0) with self.assertRaises(RetryableJobError): test_job.perform(self.session) self.assertEqual(test_job.retry, 1)
def test_perform(self): test_job = Job(func=dummy_task) result = test_job.perform(self.session) self.assertEqual(result, 'ok')
def test_cancel(self): job_a = Job(func=task_a) job_a.cancel(msg='test') self.assertTrue(job_a.canceled) self.assertEquals(job_a.state, DONE) self.assertEquals(job_a.result, 'test')
def _create_job(self): test_job = Job(func=sample_job) storage = OpenERPJobStorage(self.session) storage.store(test_job) stored = storage.db_record_from_uuid(test_job.uuid) return stored