Аутентификация на Post DRF
Я получил ошибку на моем DRF. когда я пытаюсь пройти аутентификацию, используя метод post.
токен правильный для администратора. когда я использую безопасный метод, он оказывается успешным, но при использовании метода post нет аутентификации
мой взгляд
class SpecialistListView(ListCreateAPIView):
authentication_classes = (OAuth2Authentication,)
permission_classes = (permissions.IsAdminUser,)
queryset = Specialist.objects.all()
serializer_class = SpecialistSerializer
Я не понимаю, почему возвращаемый код имеет статус HTTP 401 Unauthorized.
Это не работает на тестировании. Я проверяю, что в почтальоне успешно.
Я использую APIClient из rest_framework.test импорта APIClient
мой test_client
client = APIClient()
client.credentials(HTTP_AUTHORIZATION='Bearer EGsnU4Cz3Mx5bUCuLrc2hmup51sSGz')
class CreateSpecialist(APITestCase):
fixtures = ['data','data2']
def setUp(self):
self.valid_payload = {
'username': 'julia',
'nick': 'julia',
'password': 'intel12345',
"first_name": "juliana",
"last_name": "garzon"
}
def test_create_specialist(self):
response = self.client.post(
reverse('specialists'),
data=json.dumps(self.valid_payload),
content_type='application/json'
)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
1 ответ
Я просто добавляю учетные данные перед публикацией, и это работает!:D
def test_create_specialist(self):
self.client.credentials(HTTP_AUTHORIZATION='Bearer EGsnU4Cz3Mx5bUCuLrc2hmup51sSGz')
response = self.client.post(
reverse('specialists'),
data=json.dumps(self.valid_payload),
content_type='application/json'
)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)