def test_run_periodic_tasks(self): #obj, created = PeriodicTaskMeta.objects.get_or_create( # name=MyPeriodicTask.name, # defaults={"last_run_at": datetime.now() - # timedelta(days=-4)}) #if not created: # obj.last_run_at = datetime.now() - timedelta(days=4) # obj.save() b = Backend() b.run_periodic_tasks()
def test_backend(self): b = Backend() tid = str(uuid.uuid4()) self.assertFalse(b.is_done(tid)) self.assertEquals(b.get_status(tid), "PENDING") self.assertEquals(b.get_result(tid), "") b.mark_as_done(tid, 42) self.assertTrue(b.is_done(tid)) self.assertEquals(b.get_status(tid), "DONE") self.assertEquals(b.get_result(tid), 42) self.assertTrue(b._cache.get(tid)) self.assertTrue(b.get_result(tid), 42) tid2 = str(uuid.uuid4()) result = {"foo": "baz", "bar": SomeClass(12345)} b.mark_as_done(tid2, result) # is serialized properly. rindb = b.get_result(tid2) self.assertEquals(rindb.get("foo"), "baz") self.assertEquals(rindb.get("bar").data, 12345) tid3 = str(uuid.uuid4()) try: raise KeyError("foo") except KeyError, exception: pass