Django REST docs从META
读取地址。
所以我必须创建存储其ip地址/子网的Whitelist
模型。没什么大不了的,我的数据库中已经有了所有302
子网。在
from rest_framework import permissions
class BlacklistPermission(permissions.BasePermission):
"""
Global permission check for blacklisted IPs.
"""
def has_permission(self, request, view):
ip_addr = request.META['REMOTE_ADDR']
blacklisted = Blacklist.objects.filter(ip_addr=ip_addr).exists()
return not blacklisted
问题:
我想从其他ip地址测试白名单,而不是127.0.0.1
如何在pytest
中做到这一点?在
感谢@rpkilby
https://github.com/encode/django-rest-framework/issues/5775#issuecomment-360734150
因为
APICLient
从同一个源继承。设置头部非常笔直。在编写一个集成测试:使用
requests
或等效的库来调用API。在如果计划测试一次,只需将应用程序部署到另一个主机上并运行测试。在
如果需要自动化测试,请考虑使用CI/CD管道。把你的API放在一个容器里,把测试代码放到另一个容器里,然后在需要的时候触发这些测试。在
相关问题 更多 >
编程相关推荐