12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- from misago.core import cachebuster
- from misago.core.models import CacheVersion
- from misago.core.testutils import MisagoTestCase
- class CacheBusterTests(MisagoTestCase):
- def test_register_unregister_cache(self):
- """register and unregister adds/removes cache"""
- test_cache_name = 'eric_the_fish'
- with self.assertRaises(CacheVersion.DoesNotExist):
- CacheVersion.objects.get(cache=test_cache_name)
- cachebuster.register(test_cache_name)
- CacheVersion.objects.get(cache=test_cache_name)
- cachebuster.unregister(test_cache_name)
- with self.assertRaises(CacheVersion.DoesNotExist):
- CacheVersion.objects.get(cache=test_cache_name)
- class CacheBusterCacheTests(MisagoTestCase):
- def setUp(self):
- super(CacheBusterCacheTests, self).setUp()
- self.cache_name = 'eric_the_fish'
- cachebuster.register(self.cache_name)
- def test_cache_validation(self):
- """cache correctly validates"""
- version = cachebuster.get_version(self.cache_name)
- self.assertEqual(version, 0)
- db_version = CacheVersion.objects.get(cache=self.cache_name).version
- self.assertEqual(db_version, 0)
- self.assertEqual(db_version, version)
- self.assertTrue(cachebuster.is_valid(self.cache_name, version))
- self.assertTrue(cachebuster.is_valid(self.cache_name, db_version))
- def test_cache_invalidation(self):
- """invalidate has increased valid version number"""
- db_version = CacheVersion.objects.get(cache=self.cache_name).version
- cachebuster.invalidate(self.cache_name)
- new_version = cachebuster.get_version(self.cache_name)
- new_db_version = CacheVersion.objects.get(cache=self.cache_name)
- new_db_version = new_db_version.version
- self.assertEqual(new_version, 1)
- self.assertEqual(new_db_version, 1)
- self.assertEqual(new_version, new_db_version)
- self.assertFalse(cachebuster.is_valid(self.cache_name, db_version))
- self.assertTrue(cachebuster.is_valid(self.cache_name, new_db_version))
- def test_cache_invalidation_all(self):
- """invalidate_all has increased valid version number"""
- cache_a = "eric_the_halibut"
- cache_b = "eric_the_crab"
- cache_c = "eric_the_lion"
- cachebuster.register(cache_a)
- cachebuster.register(cache_b)
- cachebuster.register(cache_c)
- cachebuster.invalidate_all()
- new_version_a = CacheVersion.objects.get(cache=cache_a).version
- new_version_b = CacheVersion.objects.get(cache=cache_b).version
- new_version_c = CacheVersion.objects.get(cache=cache_c).version
- self.assertEqual(new_version_a, 1)
- self.assertEqual(new_version_b, 1)
- self.assertEqual(new_version_c, 1)
|