def test_featured_extensions_with_category_es_ES(self): addon = self.addon res = self.client.get(reverse('browse.extensions', args=['bookmarks'])) assert addon in res.context['filter'].all()['featured'] self.change_addoncategory(addon, 'es') cache.delete( memoize_key('addons:featured', amo.FIREFOX, u'en-US', amo.ADDON_EXTENSION)) cache.delete(memoize_key('addons:creatured', 'Bookmarks', u'en-US')) res = self.client.get(reverse('browse.extensions', args=['bookmarks'])) assert addon not in res.context['filter'].all()['featured']
def test_featured_extensions_with_category_es_ES(self): addon = self.addon res = self.client.get(reverse('browse.extensions', args=['bookmarks'])) assert addon in res.context['filter'].all()['featured'] self.change_addoncategory(addon, 'es') cache.delete(memoize_key( 'addons:featured', amo.FIREFOX, u'en-US', amo.ADDON_EXTENSION)) cache.delete(memoize_key( 'addons:creatured', 'Bookmarks', u'en-US')) res = self.client.get(reverse('browse.extensions', args=['bookmarks'])) assert addon not in res.context['filter'].all()['featured']
def test_memoize(): @memoize('f') def add(*args): return sum(args) cache_key = memoize_key('f', 1, 2) assert add(1, 2) == cache.get(cache_key)
def test_homepage_order(self): FeaturedCollection.objects.filter(collection__addons=3615)[0].delete() # Make these apps listed. for pk in [1003, 3481]: addon = Addon.objects.get(pk=pk) addon.update(status=amo.STATUS_PUBLIC) addon.appsupport_set.create(app=1) # Note 1003 and 3481 are now en-US. # And 7661 and 2464 are now None. # The order should be random within those boundaries. another = Addon.objects.get(id=1003) self.change_addon(another, 'en-US') cache.delete( memoize_key('addons:featured', amo.FIREFOX, u'en-US', amo.ADDON_EXTENSION)) cache.delete( memoize_key('addons:featured', amo.FIREFOX, u'en-US', amo.ADDON_PERSONA)) url = reverse('home') res = self.client.get(url) items = res.context['featured'] assert [1003, 3481] == sorted([i.pk for i in items[0:2]]) assert [2464, 7661] == sorted([i.pk for i in items[2:]]) res = self.client.get(url.replace('en-US', 'es')) items = res.context['featured'] assert [2464, 7661] == sorted([i.pk for i in items]) self.change_addon(another, 'es') cache.delete( memoize_key('addons:featured', amo.FIREFOX, u'es', amo.ADDON_EXTENSION)) res = self.client.get(url.replace('en-US', 'es')) items = res.context['featured'] assert items[0].pk == 1003 assert [1003, 2464, 7661] == sorted([i.pk for i in items])
def test_homepage_order(self): FeaturedCollection.objects.filter(collection__addons=3615)[0].delete() # Make these apps listed. for pk in [1003, 3481]: addon = Addon.objects.get(pk=pk) addon.update(status=amo.STATUS_PUBLIC) addon.appsupport_set.create(app=1) # Note 1003 and 3481 are now en-US. # And 7661 and 2464 are now None. # The order should be random within those boundaries. another = Addon.objects.get(id=1003) self.change_addon(another, 'en-US') cache.delete(memoize_key( 'addons:featured', amo.FIREFOX, u'en-US', amo.ADDON_EXTENSION)) cache.delete(memoize_key( 'addons:featured', amo.FIREFOX, u'en-US', amo.ADDON_PERSONA)) url = reverse('home') res = self.client.get(url) items = res.context['featured'] assert [1003, 3481] == sorted([i.pk for i in items[0:2]]) assert [2464, 7661] == sorted([i.pk for i in items[2:]]) res = self.client.get(url.replace('en-US', 'es')) items = res.context['featured'] assert [2464, 7661] == sorted([i.pk for i in items]) self.change_addon(another, 'es') cache.delete(memoize_key( 'addons:featured', amo.FIREFOX, u'es', amo.ADDON_EXTENSION)) res = self.client.get(url.replace('en-US', 'es')) items = res.context['featured'] assert items[0].pk == 1003 assert [1003, 2464, 7661] == sorted([i.pk for i in items])
def test_featured_persona_no_category_en_US(self): addon = self.persona url = reverse('browse.personas') res = self.client.get(url) assert addon in res.context['featured'] self.change_addon(addon, 'es') cache.delete(memoize_key('addons:featured', amo.FIREFOX, u'en-US')) res = self.client.get(url) assert addon not in res.context['featured'] res = self.client.get(url.replace('en-US', 'es')) assert addon in res.context['featured']
def test_homepage(self): url = reverse('home') res = self.client.get(url) assert self.extension in res.context['featured'] self.change_addon(self.extension, 'es') cache.delete(memoize_key( 'addons:featured', amo.FIREFOX, u'en-US', amo.ADDON_EXTENSION)) res = self.client.get(url) assert self.extension not in res.context['featured'] res = self.client.get(url.replace('en-US', 'es')) assert self.extension in res.context['featured']
def test_homepage(self): url = reverse('home') res = self.client.get(url) assert self.extension in res.context['featured'] self.change_addon(self.extension, 'es') cache.delete( memoize_key('addons:featured', amo.FIREFOX, u'en-US', amo.ADDON_EXTENSION)) res = self.client.get(url) assert self.extension not in res.context['featured'] res = self.client.get(url.replace('en-US', 'es')) assert self.extension in res.context['featured']
def test_featured_persona_category_en_US(self): addon = self.persona category = Category.objects.get(id=22) category.update(type=amo.ADDON_PERSONA) addon.addoncategory_set.create(category=category, feature=True) url = reverse('browse.personas', args=[category.slug]) res = self.client.get(url) assert addon in res.context['featured'] self.change_addoncategory(addon, 'es') cache.delete(memoize_key('addons:creatured', category, u'en-US')) res = self.client.get(url) assert addon not in res.context['featured'] res = self.client.get(url.replace('en-US', 'es')) assert addon in res.context['featured']
def clear_get_featured_ids_cache(*args, **kwargs): cache_key = memoize_key('addons:featured', *args, **kwargs) cache.delete(cache_key)
def test_memoize_key(): assert memoize_key('foo', ['a', 'b'], {'c': 'e'}) == ( 'memoize:foo:9666a2a48c17dc1c308fb327c2a6e3a8')
def test_memoize_key(): assert memoize_key('foo', ['a', 'b'], {'c': 'e'}) == ( 'testing:memoize:foo:9666a2a48c17dc1c308fb327c2a6e3a8')