170 похожих чатов

Доброе утро! Как в фикстурах pytest залогинить ApiClient, если авторизация выполнена

через rest_ramework_simplejwt?
Метод

@pytest.fixture
def authenticated_user(client_api, create_user):
client_api.force_login(create_user)
return client_api

Не срабатывает, так как, как я понимаю, нужно прокидывать token с запросами

29 ответов

65 просмотров

Создай ещё две фикстуры 1. Создаёт юзера 2. Создаёт токен для юзера (использует юзера которого ты создал в 1 Фикстуре) А в третьем уже создаёшь authorized_client так скажем

Igor'-Pypkin 🫥 Автор вопроса
Doniyor Sayfullaev
Создай ещё две фикстуры 1. Создаёт юзера 2. Созд...

Так которая создаёт юзера есть(create_user), токен вроде как генерится автоматом за счёт пакета, а по поводу реализации 3 пункта ре совсем понятно:)

у тебя только JWTAuthorization в настройках авторизации?

Igor' Pypkin 🫥
screenshot

ну вот у тебя внизу есть SessionAuthentication, следовательно drf будет его поддерживать

Нонейм Программист Павлов
ну вот у тебя внизу есть SessionAuthentication, сл...

Это Фикстура использует 2 ую Фикстуру который я описал выше

Doniyor Sayfullaev
Это Фикстура использует 2 ую Фикстуру который я оп...

ну сессия в базе создается, скорее всего в этом проблема

Igor'-Pypkin 🫥 Автор вопроса
Igor'-Pypkin 🫥 Автор вопроса
Нонейм Программист Павлов
для получение авторизированного клиента?

Тут токен получается дёрнуть. Но в каждом методе же такое писать не буду. А логиниться таким способом в фикстурах нельзя

Igor' Pypkin 🫥
Верно)

ну @pytest.fixture def new_user(django_user_model): django_user_model.objects.create(username="someone", password="something") @pytest.fixture def logged_in_client(client, new_user): return client.force_login(new_user)

Igor'-Pypkin 🫥 Автор вопроса
Нонейм Программист Павлов
ну @pytest.fixture def new_user(django_user_model)...

А посмотрите пжл, выше я такой же метод написал, только return делаю client

Igor'-Pypkin 🫥 Автор вопроса

Вот

Igor'-Pypkin 🫥 Автор вопроса
Нонейм Программист Павлов
не то возвращаешь

В другом проекте работало. Но там авторизация была на основе сессий, а не jwt. Спасибо, попробую

Igor'-Pypkin 🫥 Автор вопроса
Igor'-Pypkin 🫥 Автор вопроса
Нонейм Программист Павлов
так он будет работать

Хорошо, попробую эти варианты. Спасибо Вам!

Igor' Pypkin 🫥
Хорошо, попробую эти варианты. Спасибо Вам!

тебе если через jwt нужно, то из simple_jwt дерни метод создания токена, там функция есть. и возвращай client с хедером этого токена

Igor'-Pypkin 🫥 Автор вопроса
Igor' Pypkin 🫥
В этом, собственно, мой вопрос был изначально:)

https://django-rest-framework-simplejwt.readthedocs.io/en/latest/creating_tokens_manually.html

Igor' Pypkin 🫥
В этом, собственно, мой вопрос был изначально:)

вот отсюда берешь токен для юзера и его в хедер можешь положить

Igor'-Pypkin 🫥 Автор вопроса
Нонейм Программист Павлов
https://django-rest-framework-simplejwt.readthedoc...

О, вроде то, что нужно. Спасибо большое

Похожие вопросы

Обсуждают сегодня

Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
2
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
у меня программа тысяч на 10 строк. Там в основном моя собственная логика. А по содержанию она просто работает с файловой системой (мастер для бэкапов) и таблицей с данными о ...
Дмитрий Завгородний
5
У тебя в конфиге нигде нет deny all; или вообще любого deny?
Alexander Sherbakov
10
Карта сайта