tests.py 文件源码

python
阅读 31 收藏 0 点赞 0 评论 0

项目:sdining 作者: Lurance 项目源码 文件源码
def test_block(self):

        class BlockedView(RatelimitMixin, View):
            ratelimit_group = 'cbv:block'
            ratelimit_key = 'ip'
            ratelimit_method = ratelimit.ALL
            ratelimit_rate = '1/m'
            ratelimit_block = True

            def get(self, request, *args, **kwargs):
                return request.limited

        class UnBlockedView(RatelimitMixin, View):
            ratelimit_group = 'cbv:block'
            ratelimit_key = 'ip'
            ratelimit_method = ratelimit.ALL
            ratelimit_rate = '1/m'
            ratelimit_block = False

            def get(self, request, *args, **kwargs):
                return request.limited

        blocked = BlockedView.as_view()
        unblocked = UnBlockedView.as_view()

        req = rf.get('/')

        assert not blocked(req), 'First request works.'
        with self.assertRaises(Ratelimited):
            blocked(req)

        assert unblocked(req), 'Request is limited but not blocked.'
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号