我有一个Django-rest-framework的视图集/路由器来定义API端点。该视图集定义如下:
I have a Django-rest-framework viewset/router to define an API endpoint. The viewset is defined as such:
class DocumentViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated, TokenHasReadWriteScope]
model = Document
路由器被定义为
router = DefaultRouter()
router.register(r'documents', viewsets.DocumentViewSet)
使用url模式url(r'^api/', include(router.urls))
我可以通过获取正确的访问令牌并将其用于授权在浏览器/通过curl轻松地访问此端点。但是,如何针对此端点编写测试不清楚。
以下是我尝试过的内容:
class DocumentAPITests(APITestCase):
def test_get_all_documents(self):
user = User.objects.create_user('test', 'test@test.com', 'test')
client = APIClient()
client.credentials(username="test", password="test")
response = client.get("/api/documents/")
self.assertEqual(response.status_code, 200)
使用client.get()
调用时,收到HTTP 401响应失败。在DRF中使用django-oauth-toolkit进行oauth2身份验证的正确API端点测试方法是什么?