Я использую django rest simple jwt, и я хотел протестировать простой вход и проверить данные ответа для токена и других пользовательских данных.
Итак, я попытался с APITestCase создать пользователя а затем попробуйте войти в систему с теми же учетными данными.
Результатом будет 401 вместо 200 с токеном в данных ответа.
Вот мой упрощенный тестовый пример:
from rest_framework.test import APITestCase
from django.contrib.auth import get_user_model
# Create your tests here.
User = get_user_model()
class UserAuthTestCase(APITestCase):
username = "someuser"
password = "1234pass"
def setUp(self):
self.user = User.objects.create(
username=self.username,
password=self.password
)
def test_successful_login_gives_200(self):
response = self.client.post(
'/auth/token/',
{
'username': self.username,
'password': self.password
},
format='json'
)
self.assertEqual(response.status_code, 200)
Остальная конфигурация фреймворка настроена на использование только аутентификации simplejwt.
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
)
}