У меня есть требование что-то вроде этого:Как UnitTest тайм-аут сеанса в Django
Как только пользователь signsup (и будет находиться в состоянии ожидания до тех пор пока он подтверждает свой адрес электронной почты), переменная сессии устанавливается что-то например, «FIRST_TIME_FREE_SESSION_EXPIRY_AGE_KEY» (извините, если это имя кажется сбивающим с толку!), который будет установлен в объект datetime, добавив 8 часов к текущему времени.
Как это должно повлиять на пользователя, пользователь получает 8 часов времени, чтобы фактически использовать все функции нашего сайта, не подтверждая его адрес электронной почты для входа в систему. Через 8 часов каждый просмотр/страница отобразит большой баннер, который будет показывать пользователю подтверждение. (Вся эта функциональность достигается с помощью единственного декоратора «обеспечить_confirmed_user» для каждого представления).
Я хочу проверить ту же функциональность, используя unittest addon django (класс TestCase). Как мне это сделать?
Обновление: нужно ли вручную обновить указанное значение переменной сеанса (изменено на 8 часов до нескольких секунд), чтобы сделать это? Или есть лучший способ?
Обновление: Это может показаться сумасшедшим, но я хочу имитировать запрос из будущего.
[freezegun] (https://pypi.python.org/pypi/freezegun/) давайте вы управлять временем по собственному желанию в тестах. Получившийся результат будет также явным. –