我正在使用 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',
)
}