Example #1
0
 def test_add_error_method_should_add_an_error_instance(self):
     e = ErrorTests.ExceptionWithCode('the answer', 42)
     job = Job.add_job(identifier='job:1', queue_name='test')
     error1 = Error.add_error(queue_name='test', job=job, error=e)
     self.assertEqual(list(Error.collection()), [error1.pk.get()])
     Error.add_error(queue_name='test', job=job, error=e)
     self.assertEqual(len(Error.collection()), 2)
Example #2
0
 def test_add_error_method_should_add_an_error_instance(self):
     e = ErrorTests.ExceptionWithCode('the answer', 42)
     job = Job.add_job(identifier='job:1', queue_name='test')
     error1 = Error.add_error(queue_name='test', job=job, error=e)
     self.assertListEqual(list(Error.collection()), [error1.pk.get()])
     Error.add_error(queue_name='test', job=job, error=e)
     self.assertEqual(len(Error.collection()), 2)
Example #3
0
    def test_job_error_method_should_be_called(self):
        class ExceptionWithCode(Exception):
            def __init__(self, message, code):
                super(ExceptionWithCode, self).__init__(message)
                self.message = message
                self.code = code

        def callback(job, queue):
            raise ExceptionWithCode('foobar', 42)

        job1 = Job.add_job(identifier='job:1', queue_name='test')
        queue = Queue.get_queue(name='test')
        worker = Worker(name='test', max_loops=1)  # no callback
        worker.run()

        self.assertEqual(job1.status.hget(), STATUSES.ERROR)
        self.assertIn(job1.get_pk(), queue.errors.lmembers())
        self.assertEqual(len(Error.collection()), 1)
        error = Error.get(identifier='job:1')
        self.assertEqual(error.message.hget(), 'You must implement your own action')
        self.assertEqual(error.code.hget(), None)

        job2 = Job.add_job(identifier='job:2', queue_name='test')
        queue = Queue.get_queue(name='test')
        worker = Worker(name='test', max_loops=1, callback=callback)  # callback with exception
        worker.run()

        self.assertEqual(job2.status.hget(), STATUSES.ERROR)
        self.assertIn(job2.get_pk(), queue.errors.lmembers())
        self.assertEqual(len(Error.collection()), 2)
        error = Error.get(identifier='job:2')
        self.assertEqual(error.message.hget(), 'foobar')
        self.assertEqual(error.code.hget(), '42')
Example #4
0
 def test_new_error_save_job_pk_and_identifier_appart(self):
     e = ErrorTests.ExceptionWithCode('the answer', 42)
     when = datetime(2012, 9, 29, 22, 58, 56)
     job = Job.add_job(identifier='job:1', queue_name='test')
     error = Error.add_error(queue_name='test', job=job, error=e, when=when)
     self.assertEqual(error.job_model_repr.hget(), job.get_model_repr())
     self.assertEqual(error.job_pk.hget(), job.pk.get())
     self.assertEqual(error.identifier.hget(), 'job:1')
     self.assertEqual(list(Error.collection(job_pk=job.pk.get())), [error.pk.get()])
     self.assertEqual(list(Error.collection(identifier=job.identifier.hget())), [error.pk.get()])
Example #5
0
 def test_new_error_save_job_pk_and_identifier_appart(self):
     e = ErrorTests.ExceptionWithCode('the answer', 42)
     when = datetime(2012, 9, 29, 22, 58, 56)
     job = Job.add_job(identifier='job:1', queue_name='test')
     error = Error.add_error(queue_name='test', job=job, error=e, when=when)
     self.assertEqual(error.job_model_repr.hget(), job.get_model_repr())
     self.assertEqual(error.job_pk.hget(), job.pk.get())
     self.assertEqual(error.identifier.hget(), 'job:1')
     self.assertListEqual(list(Error.collection(job_pk=job.pk.get())), [error.pk.get()])
     self.assertListEqual(list(Error.collection(identifier=job.identifier.hget())), [error.pk.get()])
Example #6
0
 def test_new_error_save_date_and_time_appart(self):
     e = ErrorTests.ExceptionWithCode('the answer', 42)
     when = datetime(2012, 9, 29, 22, 58, 56)
     job = Job.add_job(identifier='job:1', queue_name='test')
     error = Error.add_error(queue_name='test', job=job, error=e, when=when)
     self.assertEqual(error.date.hget(), '2012-09-29')
     self.assertEqual(error.time.hget(), '22:58:56')
     self.assertEqual(error.date_time.hget(), '2012-09-29 22:58:56')
     self.assertEqual(error.datetime, when)
     self.assertEqual(list(Error.collection(date='2012-09-29')), [error.pk.get()])
     self.assertEqual(list(Error.collection(date_time__date__gt='2012-09-01')), [error.pk.get()])
Example #7
0
 def test_new_error_save_date_and_time_appart(self):
     e = ErrorTests.ExceptionWithCode('the answer', 42)
     when = datetime(2012, 9, 29, 22, 58, 56)
     job = Job.add_job(identifier='job:1', queue_name='test')
     error = Error.add_error(queue_name='test', job=job, error=e, when=when)
     self.assertEqual(error.date.hget(), '2012-09-29')
     self.assertEqual(error.time.hget(), '22:58:56')
     self.assertEqual(error.date_time.hget(), '2012-09-29 22:58:56')
     self.assertEqual(error.datetime, when)
     self.assertListEqual(list(Error.collection(date='2012-09-29')), [error.pk.get()])
     self.assertListEqual(list(Error.collection(date_time__date__gt='2012-09-01')), [error.pk.get()])