Во всех тестовых примерах возникает ошибка утверждения: 401 !=200 django

У меня есть пользовательская абстрактная база пользователей и базовый логин с knox view, я сделал несколько простых тестов для процесса регистрации и входа, однако все тесты не работают с ошибкой assertion error:401!=200 и когда я использую pdb.set_trace, чтобы узнать отправленные данные, всегда возникает эта ошибка

(Pdb) res
<Response status_code=401, "application/json">
(Pdb) res.data
{'detail': ErrorDetail(string='Authentication credentials were not provided.', code='not_authenticated')} 

Вот тестовая установка

from rest_framework.test import APITestCase
from django.urls import reverse

class TestSetUp(APITestCase):

    def setUp(self):
        self.register_url = reverse('knox_register')
        self.login_url = reverse('knox_login')

        self.correct_data = {
            'email':"user@gmail.com",
            'password': "Abc1234#",
        }
        self.wrong_email_format = {
            'email': "user@gmail",
            'password': "Abc1234#",
        }
        self.missing_data = {
            'email':"user@gmail.com",
            'password':"",
        }
        self.wrong_password_format = {
            'email': "user@gmail.com",
            'password': "123",
        }
        return super().setUp()

    def tearDown(self):
        return super().tearDown()

и test_view

from .test_setup import TestSetUp
import pdb

class TestViews(TestSetUp):

    #register with no data
    def test_user_cannot_register_with_no_data(self):
        res = self.client.post(self.register_url)

        self.assertEqual(res.status_code,400)

    #register with correct data
    def test_user_register(self):
        self.client.force_authenticate(None)
        res = self.client.post(
            self.register_url, self.correct_data, format="json")
        #pdb.set_trace()
        self.assertEqual(res.status_code,200)

    #register with wrong email format

    def test_register_with_wrong_email_format(self):
        res = self.client.post(
            self.register_url, self.wrong_email_format)
        self.assertEqual(res.status_code, 400)

    # register with wrong password format
    def test_register_with_wrong_password_format(self):
        res = self.client.post(
            self.register_url, self.wrong_password_format)
        self.assertEqual(res.status_code, 400)

    #register with missing_data
    def test_register_with_missing_data(self):
        res = self.client.post(
            self.register_url, self.missing_data)
        self.assertEqual(res.status_code, 400)

    #login with correct Credentials
    def test_user_login(self):
        self.client.post(
            self.register_url, self.correct_data,format="json")
        res = self.client.post(
            self.login_url,self.correct_data, format="json")
        #pdb.set_trace()
        self.assertEqual(res.status_code,200)

    # login with no Credentials
    def test_login(self):
        res = self.client.post(
            self.login_url, self.correct_data, format="json")
        # pdb.set_trace()
        self.assertEqual(res.status_code, 400)

    #login with no data
    def test_user_cannot_login_with_no_data(self):
        res = self.client.post(self.login_url)
        self.assertEqual(res.status_code,400)

Какие классы разрешений и аутентификации должны быть определены для представлений входа и регистрации? Если для представлений не определены классы, они будут использовать значения по умолчанию. Пожалуйста, смотрите https://www.django-rest-framework.org/tutorial/4-authentication-and-permissions/#authenticating-with-the-api

Вернуться на верх