智慧屏 安装 app如何提升家庭娱乐与教育体验的关键工具
805
2022-10-31
drf-chaos-用于测试Django Rest框架API的装饰器工具集
drf-chaos extension
drf-chaos is a small collection of decorators and middlewares for testing Django REST Framework API under unexpected circumstances.
Settings
DRF_CHAOS_ENABLED
Decorators
Delay
Delay response of a specific amount of milliseconds
@delay(rate, milliseconds)
Params:
rate: probability that an unexpected event hAPPens
milliseconds: suspend execution of the current thread for the given number of milliseconds
Error
Return a different response HTTP status code
@error(rate, status)
Params:
rate: probability that an unexpected event happens
status: integer corresponding to any valid HTTP status code. See DRF HTTP status codes
Mime
Return a random Mime Content-type
@mime(rate)
Params:
rate: probability that an unexpected event happens
Chaos
Apply a random unexpected event to the HTTP response. (A delay between 0 to 3 second and a random HTTP status code)
@chaos(rate)
Params:
rate: probability that an unexpected event happens
Middlewares
ChaosMiddleware
Example
from rest_framework import statusfrom rest_framework.response import Responsefrom rest_framework.views import APIViewfrom drf_chaos.decorators import delay, error, mime, chaosclass DelayApiView(APIView): @delay(rate=0.5, milliseconds=700) def get(self, request): return Response(status=status.HTTP_204_NO_CONTENT)class ErrorApiView(APIView): @error(rate=0.5, status=500) def get(self, request): return Response(status=status.HTTP_204_NO_CONTENT)class MimeTypeApiView(APIView): @mime(rate=0.5) def get(self, request): return Response(status=status.HTTP_204_NO_CONTENT)class ChaosApiView(APIView): @chaos(rate=0.5) def get(self, request): return Response(status=status.HTTP_204_NO_CONTENT)
Requirements
Python (2.7)Django (1.6+, 1.7+, 1.8)
Installation
Install using pip
pip install drf-chaos
Add 'drf_chaos' to your INSTALLED_APPS setting.
INSTALLED_APPS = ( ... 'drf_chaos',)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~