From f9897ea920beacbe4f6b881e6a5645c1376297c1 Mon Sep 17 00:00:00 2001 From: Wojciech Bederski Date: Tue, 21 May 2013 17:35:18 +0200 Subject: [PATCH] register_sentry breaks failed queue when func cannot be imported --- tests/test_sentry.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tests/test_sentry.py diff --git a/tests/test_sentry.py b/tests/test_sentry.py new file mode 100644 index 0000000..3fa4737 --- /dev/null +++ b/tests/test_sentry.py @@ -0,0 +1,29 @@ +from tests import RQTestCase +from rq import Queue, Worker, get_failed_queue +from rq.contrib.sentry import register_sentry + + +class FakeSentry(object): + def captureException(self, *args, **kwds): + pass # we cannot check this, because worker forks + + +class TestSentry(RQTestCase): + + def test_work_fails(self): + """Non importable jobs should be put on the failed queue event with sentry""" + q = Queue() + failed_q = get_failed_queue() + + # Action + q.enqueue('_non.importable.job') + self.assertEquals(q.count, 1) + + w = Worker([q]) + register_sentry(FakeSentry(), w) + + w.work(burst=True) + + # Postconditions + self.assertEquals(failed_q.count, 1) + self.assertEquals(q.count, 0)