def test_get_listing_omits_excluded_publishable(self): ct_id = self.publishables[0].content_type_id t1, t2 = time.time()-90, time.time()-100 self.redis.zadd('listing:c:2', '%d:1' % ct_id, repr(t1)) self.redis.zadd('listing:c:2', '%d:3' % ct_id, repr(t2)) dt1, dt2 = from_timestamp(t1), from_timestamp(t2) lh = Listing.objects.get_queryset_wrapper(category=self.category_nested, children=ListingHandler.IMMEDIATE, exclude=self.publishables[0], source='redis') tools.assert_equals(1, lh.count()) l = lh.get_listings(0, 10) tools.assert_equals(l[0].publishable, self.publishables[2]) tools.assert_equals(l[0].publish_from, dt2)
def test_get_listing_uses_data_from_redis(self): ct_id = self.publishables[0].content_type_id t1, t2 = time.time()-90, time.time()-100 redis.client.zadd('listing:c:2', '%d:1' % ct_id, repr(t1)) redis.client.zadd('listing:c:2', '%d:3' % ct_id, repr(t2)) dt1, dt2 = from_timestamp(t1), from_timestamp(t2) lh = Listing.objects.get_queryset_wrapper(category=self.category_nested, children=ListingHandler.IMMEDIATE, source='redis') tools.assert_equals(2, lh.count()) l1, l2 = lh.get_listings(0, 10) tools.assert_equals(l1.publishable, self.publishables[0]) tools.assert_equals(l2.publishable, self.publishables[2]) tools.assert_equals(l1.publish_from, dt1) tools.assert_equals(l2.publish_from, dt2)
def test_get_listing_omits_excluded_publishable(self): ct_id = self.publishables[0].content_type_id t1, t2 = time.time() - 90, time.time() - 100 redis.client.zadd('listing:c:2', '%d:1' % ct_id, repr(t1)) redis.client.zadd('listing:c:2', '%d:3' % ct_id, repr(t2)) dt1, dt2 = from_timestamp(t1), from_timestamp(t2) lh = Listing.objects.get_queryset_wrapper( category=self.category_nested, children=ListingHandler.IMMEDIATE, exclude=self.publishables[0], source='redis') tools.assert_equals(1, lh.count()) l = lh.get_listings(0, 10) tools.assert_equals(l[0].publishable, self.publishables[2]) tools.assert_equals(l[0].publish_from, dt2)
def test_get_listing_uses_data_from_redis(self): ct_id = self.publishables[0].content_type_id t1, t2 = time.time() - 90, time.time() - 100 self.redis.zadd('listing:c:2', '%d:1' % ct_id, repr(t1)) self.redis.zadd('listing:c:2', '%d:3' % ct_id, repr(t2)) dt1, dt2 = from_timestamp(t1), from_timestamp(t2) lh = Listing.objects.get_queryset_wrapper( category=self.category_nested, children=ListingHandler.IMMEDIATE, source='redis') tools.assert_equals(2, lh.count()) l1, l2 = lh.get_listings(0, 10) tools.assert_equals(l1.publishable, self.publishables[0]) tools.assert_equals(l2.publishable, self.publishables[2]) tools.assert_equals(l1.publish_from, dt1) tools.assert_equals(l2.publish_from, dt2)
def test_redis_listing_handler_used_from_view_when_requested(self): ct_id = self.publishables[0].content_type_id t1, t2 = time.time()-90, time.time()-100 self.redis.zadd('listing:d:2', '%d:1' % ct_id, repr(t1)) self.redis.zadd('listing:d:2', '%d:3' % ct_id, repr(t2)) dt1, dt2 = from_timestamp(t1), from_timestamp(t2) rf = RequestFactory() request = rf.get(self.category_nested.get_absolute_url(), {'using': 'redis'}) lct = ListContentType() context = lct.get_context(request, self.category_nested.tree_path) tools.assert_equals(2, len(context['listings'])) l1, l2 = context['listings'] tools.assert_equals(l1.publishable, self.publishables[0]) tools.assert_equals(l2.publishable, self.publishables[2]) tools.assert_equals(l1.publish_from, dt1) tools.assert_equals(l2.publish_from, dt2)
def test_redis_listing_handler_used_from_view_when_requested(self): ct_id = self.publishables[0].content_type_id t1, t2 = time.time() - 90, time.time() - 100 redis.client.zadd('listing:d:2', '%d:1' % ct_id, repr(t1)) redis.client.zadd('listing:d:2', '%d:3' % ct_id, repr(t2)) dt1, dt2 = from_timestamp(t1), from_timestamp(t2) rf = RequestFactory() request = rf.get(self.category_nested.get_absolute_url(), {'using': 'redis'}) lct = ListContentType() context = lct.get_context(request, self.category_nested) tools.assert_equals(2, len(context['listings'])) l1, l2 = context['listings'] tools.assert_equals(l1.publishable, self.publishables[0]) tools.assert_equals(l2.publishable, self.publishables[2]) tools.assert_equals(l1.publish_from, dt1) tools.assert_equals(l2.publish_from, dt2)
def _get_listing(self, publishable, score): Listing = get_model('core', 'listing') publish_from = from_timestamp(score) return Listing(publishable=publishable, category=publishable.category, publish_from=publish_from)