Полезные библиотеки: freezegun - замораживаем время

В модуле datetime есть now() - метод, который возвращает текущее время. Применяется метод часто, например, создаем новую запись в базе данных - в лог пишем запись от текущего времени.

Вот только такой код оттестировать не всегда просто - иногда надо чтобы now() возвращал конкретное время. Для этого случая есть freezegun:

from freezegun import freeze_time
import datetime
import unittest

@freeze_time("2012-01-14")
def test():
    assert ...
more ...