def test_get_cached_range(self, mock_get, mock_queryset):
self.stream.stream_type = StreamType.PUBLIC
mock_zrevrange = Mock(return_value=[str(self.content2.id), str(self.content1.id)])
mock_hmget = Mock(return_value=[str(self.content2.id), str(self.content1.id)])
mock_redis = Mock(zrevrange=mock_zrevrange, hmget=mock_hmget)
mock_get.return_value = mock_redis
ids, throughs = self.stream.get_cached_range(0)
self.assertEqual(ids, [self.content2.id, self.content1.id])
self.assertEqual(throughs, {self.content2.id: self.content2.id, self.content1.id: self.content1.id})
mock_zrevrange.assert_called_once_with(self.stream.key, 0, 0 + self.stream.paginate_by)
mock_hmget.assert_called_once_with(BaseStream.get_throughs_key(self.stream.key), keys=[
self.content2.id, self.content1.id,
])
# Non-zero index
mock_zrevrange.reset_mock()
self.stream.get_cached_range(5)
mock_zrevrange.assert_called_once_with(self.stream.key, 5, 5 + self.stream.paginate_by)
评论列表
文章目录