如何传递JWT令牌来测试功能?

时间:2020-05-18 09:54:50

标签: django django-rest-framework

我使用单元测试。要测试该功能,我需要显式传递令牌,如果不这样做,该函数将返回错误400(块 else )。如果我在设置中使用simple.JWTToken注释一行,则一切正常。问:如何将令牌传递给测试?我正在使用DRF。

视图:

def delete(self, request):
    murr = MurrCard.objects.get(id=request.data['murr_id'])
    author = request.data['owner_id']
    if int(author) == request.user.id:
        murr.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
    else:
        return Response(status=status.HTTP_400_BAD_REQUEST)

测试:

def test_delete_murr_valid_parameters(self):
    user = Murren.objects.create_user(username='loku', password='123456', email='onar@gmail.com')
    """user.id = 3"""
    user.save()
    print(user)
    self.client.force_login(user=user)
    delete_path = reverse('MurrCardView')
    user_request = self.client.delete(delete_path, data={'murr_id': 1, 'owner_id': 3}, format='json')
    self.assertEqual(user_request.status_code, 204)

0 个答案:

没有答案
相关问题