Author: jezdez
Date: 2011-07-05 06:55:14 -0700 (Tue, 05 Jul 2011)
New Revision: 16513

Modified:
   django/trunk/tests/regressiontests/cache/tests.py
Log:
Made cache table test case multidb capable. Refs #16411. Thanks, Russ.

Modified: django/trunk/tests/regressiontests/cache/tests.py
===================================================================
--- django/trunk/tests/regressiontests/cache/tests.py   2011-07-05 09:40:29 UTC 
(rev 16512)
+++ django/trunk/tests/regressiontests/cache/tests.py   2011-07-05 13:55:14 UTC 
(rev 16513)
@@ -14,10 +14,10 @@
 from django.core import management
 from django.core.cache import get_cache, DEFAULT_CACHE_ALIAS
 from django.core.cache.backends.base import CacheKeyWarning, 
InvalidCacheBackendError
-from django.db import connections, router
+from django.db import router
 from django.http import HttpResponse, HttpRequest, QueryDict
 from django.middleware.cache import FetchFromCacheMiddleware, 
UpdateCacheMiddleware, CacheMiddleware
-from django.test import RequestFactory
+from django.test import RequestFactory, TestCase
 from django.test.utils import get_warnings_state, restore_warnings_state, 
override_settings
 from django.utils import translation
 from django.utils import unittest
@@ -771,29 +771,32 @@
             return 'other'
 
     def allow_syncdb(self, db, model):
+        print self, db, model
         if model._meta.app_label == 'django_cache':
             return db == 'other'
 
-class CreateCacheTableForDBCacheTests(unittest.TestCase):
 
+class CreateCacheTableForDBCacheTests(TestCase):
+    multi_db = True
+
     def test_createcachetable_observes_database_router(self):
-        with override_settings(DEBUG=True):
-            old_routers = router.routers
-            try:
-                router.routers = [DBCacheRouter()]
-                # cache table should not be created on 'default'
+        old_routers = router.routers
+        try:
+            router.routers = [DBCacheRouter()]
+            # cache table should not be created on 'default'
+            with self.assertNumQueries(0):
                 management.call_command('createcachetable', 'cache_table',
                                         database='default',
                                         verbosity=0, interactive=False)
-                self.assertEqual(len(connections['default'].queries), 0)
-                # cache table should be created on 'other'
+            # cache table should be created on 'other'
+            with self.assertNumQueries(1):
                 management.call_command('createcachetable', 'cache_table',
                                         database='other',
                                         verbosity=0, interactive=False)
-                self.assertNotEqual(len(connections['other'].queries), 0)
-            finally:
-                router.routers = old_routers
+        finally:
+            router.routers = old_routers
 
+
 class LocMemCacheTests(unittest.TestCase, BaseCacheTests):
     backend_name = 'django.core.cache.backends.locmem.LocMemCache'
 

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to