Ask Solem 16 rokov pred
rodič
commit
22c19c1b74

+ 48 - 0
celery/tests/test_backends/test_base.py

@@ -0,0 +1,48 @@
+import unittest
+from celery.backends.base import find_nearest_pickleable_exception as fnpe
+from celery.backends.base import BaseBackend
+from celery.backends.base import UnpickleableExceptionWrapper
+from django.db.models.base import subclass_exception
+
+class wrapobject(object):
+
+    def __init__(self, *args, **kwargs):
+        self.args = args
+
+
+Unpickleable = subclass_exception("Unpickleable", KeyError, "foo.module")
+Impossible = subclass_exception("Impossible", object, "foo.module")
+Lookalike = subclass_exception("Lookalike", wrapobject, "foo.module")
+b = BaseBackend()
+
+
+class TestPickleException(unittest.TestCase):
+
+    def test_BaseException(self):
+        self.assertTrue(fnpe(Exception()) is None)
+
+    def test_unpickleable(self):
+        self.assertTrue(isinstance(fnpe(Unpickleable()), KeyError))
+        self.assertEquals(fnpe(Impossible()), None)
+
+
+class TestPrepareException(unittest.TestCase):
+
+    def test_unpickleable(self):
+        x = b.prepare_exception(Unpickleable(1, 2, "foo"))
+        self.assertTrue(isinstance(x, KeyError))
+        y = b.exception_to_python(x)
+        self.assertTrue(isinstance(y, KeyError))
+
+    def test_impossible(self):
+        x = b.prepare_exception(Impossible())
+        self.assertTrue(isinstance(x, UnpickleableExceptionWrapper))
+        y = b.exception_to_python(x)
+        self.assertEquals(y.__class__.__name__, "Impossible")
+        self.assertEquals(y.__class__.__module__, "foo.module")
+
+    def test_regular(self):
+        x = b.prepare_exception(KeyError("baz"))
+        self.assertTrue(isinstance(x, KeyError))
+        y = b.exception_to_python(x)
+        self.assertTrue(isinstance(y, KeyError))

+ 18 - 0
celery/tests/test_celery.py

@@ -0,0 +1,18 @@
+import unittest
+import celery
+
+class TestInitFile(unittest.TestCase):
+
+    def test_version(self):
+        self.assertTrue(celery.VERSION)
+        self.assertEquals(len(celery.VERSION), 3)
+        is_stable = not (celery.VERSION[1] % 2)
+        self.assertTrue(celery.is_stable_release() == is_stable)
+        self.assertEquals(celery.__version__.count("."), 2)
+        self.assertTrue("(%s)" % (is_stable and "stable" or "unstable") in \
+                celery.version_with_meta())
+
+    def test_meta(self):
+        for m in ("__author__", "__contact__", "__homepage__",
+                "__docformat__"):
+            self.assertTrue(getattr(celery, m, None))