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.