django тестовый пример API работы остальной рамы (требуется аутентификация) - PullRequest
0 голосов
/ 29 мая 2020
• 1000 это в тестовых примерах остальной структуры

Буду благодарен, если вы ответите на мой вопрос

1 Ответ

0 голосов
/ 30 мая 2020

Вы можете сделать это с помощью rest_framework.APITestCase.

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

Перед этим вам понадобится токен доступа, который вы можете получить из API, который вы используете для получения токена доступа JWT. Вот что я сделал при создании тестовых примеров:

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)
...