Как проверить API, который использует аутентификацию токена django-rest-auth? - PullRequest
2 голосов
/ 28 марта 2019

Я использую django-rest-auth для аутентификации и использую токен, предоставленный им для авторизации.Я использую некоторые access_class, также предоставленные django-rest.У меня есть follging в views.py перед каждым моим методом.

views.py

@api_view(['GET'])
@authentication_classes((TokenAuthentication))
@permission_classes((permissions.IsAuthenticated,))

Как я могу аутентифицироваться для доступа к этим методам внутри views.py при тестировании этих API.Потому что без аутентификации выдает 403 запрещенных.Как я могу издеваться над проверкой подлинности.

1 Ответ

2 голосов
/ 29 марта 2019

Сначала вам нужно создать пользователя и токен для этого пользователя, после этого создать django.test.Client, используя токен в качестве заголовка.

from rest_framework.authtoken.models import Token                                  

from django.test import Client 

self.user = Usuario.objects.create_user(                                   
    nome='test',                                                                                   
    email='test@email.com',                                                                   
    password='test',                                                    
)                                                                             
token, created = Token.objects.get_or_create(user=self.user)                
self.client = Client(HTTP_AUTHORIZATION='Token ' + token.key)

Затем вы можете сделать любой запрос с помощью этого аутентифицированного клиента.

self.client.get('url')

...