如果在登录后生成令牌,我将如何在测试模式下获取令牌
client = APIClient()
client.post('/api/login/', {'username': 'username', 'password': 'password'}, format='json')
并且在请求之后必须在json中返回令牌密钥的响应。使用dev服务器的请求工作正常,但如何在TEST模式下使用?
答案 0 :(得分:0)
你可以在django-rest-framework测试用例。当测试用例运行时,它将创建一个新数据库,因此我们在数据库中没有任何数据。
之后它将调用方法setUp
来创建要在测试中使用的所需数据。
from rest_framework.test import APITestCase
class AccountTests(APITestCase):
def setUp(self):
super(AccountTests, self).setUp()
user = User.objects.create(user_name='username')
user.set_password('password')
user.save()
self.token = Token.objects.create(user=user)
def test_login(self):
url = '/api/login/'
data = {'username': 'username', 'password': 'password'}
response = self.client.post(url, data, format='json')
# key = response.json()['token']
# self.assertEqual(key, self.token.key)