def test_get_article_uses_the_publishable_key_and_version_from_cache(self): key = utils._get_key(utils.KEY_PREFIX, ContentType.objects.get_for_model(Article), pk=123, version_key=True) self.cache.set(key, 3) tools.assert_equals( ':'.join((utils.KEY_PREFIX, str(ContentType.objects.get_for_model(Publishable).pk), '123', '3')), utils._get_key(utils.KEY_PREFIX, ContentType.objects.get_for_model(Article), pk=123) )
def test_save_invalidates_object(self): self.ct = ContentType.objects.get_for_model(ContentType) ct = utils.get_cached_object(self.ct, pk=self.ct.pk) tools.assert_equals(ct, self.ct) tools.assert_equals(self.ct, self.cache.get(utils._get_key(utils.KEY_PREFIX, self.ct, pk=self.ct.pk))) self.ct.save() tools.assert_equals(None, self.cache.get(utils._get_key(utils.KEY_PREFIX, self.ct, pkr=self.ct.pk)))
def test_get_article_uses_the_publishable_key_and_version_from_cache(self): key = utils._get_key(utils.KEY_PREFIX, ContentType.objects.get_for_model(Article), pk=123, version_key=True) self.cache.set(key, 3) tools.assert_equals( ':'.join((utils.KEY_PREFIX, str(ContentType.objects.get_for_model(Publishable).pk), '123', '3')), utils._get_key(utils.KEY_PREFIX, ContentType.objects.get_for_model(Article), pk=123))
def test_save_invalidates_object(self): self.ct = ContentType.objects.get_for_model(ContentType) ct = utils.get_cached_object(self.ct, pk=self.ct.pk) tools.assert_equals(ct, self.ct) tools.assert_equals( self.ct, self.cache.get( utils._get_key(utils.KEY_PREFIX, self.ct, pk=self.ct.pk))) self.ct.save() tools.assert_equals( None, self.cache.get( utils._get_key(utils.KEY_PREFIX, self.ct, pkr=self.ct.pk)))
def test_box_cache_key_is_prefixed_by_objects_key(self): box = Box(self.publishable, 'box_type', []) # initialize the box's .params attribute box.prepare({}) tools.assert_true(box.get_cache_key().startswith( _get_key(KEY_PREFIX, self.publishable.content_type, pk=self.publishable.pk)))
def test_get_article_uses_the_publishable_key_and_0_for_version(self): tools.assert_equals( ':'.join((utils.KEY_PREFIX, str(ContentType.objects.get_for_model(Publishable).pk), '123', '0')), utils._get_key(utils.KEY_PREFIX, ContentType.objects.get_for_model(Article), pk=123))
def test_save_increases_version(self): self.ct = ContentType.objects.get_for_model(ContentType) key = utils._get_key(utils.KEY_PREFIX, self.ct, pk=self.ct.pk, version_key=True) self.ct.save() initial_version = self.cache.get(key) self.ct.save() new_version = self.cache.get(key) tools.assert_equals(new_version, initial_version + 1)
def get_cache_key(self): " Return a cache key constructed from the box's parameters. " if not self.is_model: return None pars = '' if self.params: pars = ','.join(':'.join((smart_str(key), smart_str(self.params[key]))) for key in sorted(self.params.keys())) return normalize_key('%s:box:%d:%s:%s' % ( _get_key(KEY_PREFIX, self.ct, pk=self.obj.pk), settings.SITE_ID, str(self.box_type), pars ))
def get_cache_key(self): " Return a cache key constructed from the box's parameters. " if not self.is_model: return None pars = '' if self.params: pars = ','.join(':'.join((smart_str(key), smart_str(self.params[key]))) for key in sorted(self.params.keys())) return normalize_key('%s:box:%d:%s:%s' % (_get_key(KEY_PREFIX, self.ct, pk=self.obj.pk), settings.SITE_ID, str(self.box_type), pars))
def test_get_article_uses_the_publishable_key(self): tools.assert_equals( ':'.join((utils.KEY_PREFIX, str(ContentType.objects.get_for_model(Publishable).pk), '123')), utils._get_key(utils.KEY_PREFIX, ContentType.objects.get_for_model(Article), pk=123) )
def test_box_cache_key_is_prefixed_by_objects_key(self): box = Box(self.publishable, 'box_type', []) # initialize the box's .params attribute box.prepare({}) tools.assert_true(box.get_cache_key().startswith(_get_key(KEY_PREFIX, self.publishable.content_type, pk=self.publishable.pk)))