django其余框架API测试用例(需要身份验证)

问题描述 投票:-1回答:1

我正在使用(简单的JWT rest框架)作为默认的身份验证类现在,我想为需要认证的视图之一编写一个API测试用例我不知道如何添加“访问”令牌以及如何在其余框架测试用例中使用它]

如果您回答我的问题,我将很感激

django api testing testcase django-rest-framework-simplejwt
1个回答
0
投票

您可以使用rest_framework.APITestCase执行此操作。

self.client.credentials(HTTP_AUTHORIZATION='Bearer ' + token)

[在需要访问令牌之前,可以从用于获取JWT访问令牌的API中获取访问令牌。这是我在制作测试用例时所做的:

class BaseAPITestCase(APITestCase):
    def get_token(self, email=None, password=None, access=True):
        email = self.email if (email is None) else email
        password = self.password if (password is None) else password

        url = reverse("token_create")  # path/url where of API where you get the access token
        resp = self.client.post(
            url, {"email": email, "password": password}, format="json"
        )
        self.assertEqual(resp.status_code, status.HTTP_200_OK)
        self.assertTrue("access" in resp.data)
        self.assertTrue("refresh" in resp.data)
        token = resp.data["access"] if access else resp.data["refresh"]
        return token

    def api_authentication(self, token=None):
        token = self.token if (token is None) else token
        self.client.credentials(HTTP_AUTHORIZATION='Bearer ' + token)
© www.soinside.com 2019 - 2024. All rights reserved.