Главная > web, Программирование > Django: Не проходит аутентификация в LiveServerTestCase.

Django: Не проходит аутентификация в LiveServerTestCase.

На одном проекте на Django начал писать функциональные тесты на Ghost.py. Написав первый тест на регистрацию пользователя, потратил достаточно много времени (во всяком случае, больше, чем хотелось бы) в поисках причины почему не проходит аутентификация. Причём по логам и через дебагер аутентификация проходит успешно, но следующий запрос - редирект на страницу входа.

Причина оказалась тривиальной - не работали сессии. В SESSION_COOKIE_DOMAIN был указан не тот хост, т.к. для локальной разработки у меня подправлен файлик hosts и в нём прописан свой хост для нормальной интеграции с тестовым приложением facebook'а. Чтобы всё заработало было достаточно поменять эту опцию на такую штуку:

SESSION_COOKIE_DOMAIN = '.localhost'

Как вариант, можно было бы поправить тесты чтобы они не на localhost ломились. В будущем, наверное так и придётся сделать, но пока так.

Пожалуйста, оцените полезность и качество данной статьи. Одна звезда - плохо, 5 - хорошо.
1/5. Мы будем признательны, если вы напишете комментарий с причиной низкой оценки.2/5. Мы будем признательны, если вы напишете комментарий с причиной низкой оценки.3/5. Мы будем признательны, если вы напишете комментарий с причиной низкой оценки.4/5.5/5. (Еще не оценили)
Загрузка...
  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.