def test_backend(self): b = DatabaseBackend() tid = gen_unique_id() self.assertFalse(b.is_successful(tid)) self.assertEquals(b.get_status(tid), states.PENDING) self.assertTrue(b.get_result(tid) is None) b.mark_as_done(tid, 42) self.assertTrue(b.is_successful(tid)) self.assertEquals(b.get_status(tid), states.SUCCESS) self.assertEquals(b.get_result(tid), 42) self.assertTrue(b._cache.get(tid)) self.assertTrue(b.get_result(tid), 42) tid2 = gen_unique_id() 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 = gen_unique_id() try: raise KeyError("foo") except KeyError, exception: pass