Установка заголовков Auth в тестах Django

Я пытаюсь написать тест, который проходит через рабочий процесс регистрации/входа в систему, а затем пытается изменить статус пользователя, что требует, чтобы он вошел в систему. Я проверил, что первые 2 POST-запроса работают (пользователь действительно создается, а затем получает действительный токен авторизации после входа в систему), однако я не могу передать этот токен в заголовках третьего и последнего POST-запроса. Я также проверил, что переменная auth_headers действительно установлена с правильным токеном, но я продолжаю получать в ответ код статуса 401.

Заранее спасибо!

tests.py

from email.headerregistry import ContentTypeHeader
from urllib import request
from wsgiref import headers
from django.http import HttpRequest
from django.test import TestCase, Client
from rest_framework import status
from rest_framework.test import APITestCase
from django.urls import reverse
from rest_framework.authtoken.models import Token
from django.contrib.auth.models import User
from profiles_api.serializers import UserProfileSerializer
from django.contrib.auth import get_user_model
from profiles_api.views import UserLoginApiView
client = Client()
User = get_user_model()


class MyTestCase(APITestCase,UserLoginApiView):
    def test_add_status_to_profile(self):
        response = self.client.post("/api/profile/", data={
            'email':"John@gmail.com",
            'name':'Pavle',
            'password':'password'
        })
        
        response = self.client.post("/api/login/", data={
            'username':"John@gmail.com",
            'password':'password'
        })

        auth_headers = {
            'Authorization': 'Bearer ' + response.json()['token']
        }

        response = self.client.post("/api/feed/", content_type='application/json', data={
            'status_text':'Hello world!'
        }, **auth_headers)

        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
Вернуться на верх