parts/django/tests/regressiontests/bug8245/tests.py
changeset 307 c6bca38c1cbf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parts/django/tests/regressiontests/bug8245/tests.py	Sat Jan 08 11:20:57 2011 +0530
@@ -0,0 +1,29 @@
+from unittest import TestCase
+
+from django.contrib import admin
+
+
+class Bug8245Test(TestCase):
+    """
+    Test for bug #8245 - don't raise an AlreadyRegistered exception when using
+    autodiscover() and an admin.py module contains an error.
+    """
+    def test_bug_8245(self):
+        # The first time autodiscover is called, we should get our real error.
+        try:
+            admin.autodiscover()
+        except Exception, e:
+            self.assertEqual(str(e), "Bad admin module")
+        else:
+            self.fail(
+                'autodiscover should have raised a "Bad admin module" error.')
+
+        # Calling autodiscover again should raise the very same error it did
+        # the first time, not an AlreadyRegistered error.
+        try:
+            admin.autodiscover()
+        except Exception, e:
+            self.assertEqual(str(e), "Bad admin module")
+        else:
+            self.fail(
+                'autodiscover should have raised a "Bad admin module" error.')