Как протестировать функционал планировщика?

Как протестировать функционал планировщика (или как протестировать что что то будеть происходить через неделю, месяц итд, если ето можно сконфигурировать ) ???

Есть функционал:
У нас в проекте есть функционал которий подсчитивает аналитику, обрабативая какие то разносортние дание(числовие) и генерит графики, таблички итд. Так как даних много и они меняються итд итп, то запуск подсчета делаеться вручную и отрабативает некоторое время, ето ми називаем процесс.

Девелопери прикрутили “скедулер” (по запросам заказчика) - теперь можна такие “процесси” запускать по рассписанию, например подсчитай мне аналитку(тоесть запусти процесс) каждую пятницу или там каждий месяц в такой то день (работает на основе quarz scheduler i cron). Тайминг хендлиться на бекенде, фронтенд только отрисовивает, соотвественно время на UI-ке js-ом никак не поменяешь, оно просто никак не скажеться на работе сервисов. Так как сервиси раняться на клаудах, то поменять там время не получиться.

Вопрос: Как тестировать в такой ситуации ? Рассматриваю любие подходи , желательно автоматизация.

Стоит задача например протестировать такой кейс, ну и другие по аналогии:

Настроить запуск процесса каждую вторую среду месяця. Проверить что процес запустился именно каждую вторую среду., итд.

Поскольку шедулер вы используете не самописный, то тестировать его функционал большого смысла нет. Есть конечно некоторая вероятность, что он работает как-то не так, но она очень мала, особенно, если этой тулзой пользуется множество других разработчиков. Достаточно просто почитать багтрекер/форум где обсуждается данный тул.

Вам надо просто правильно его сконфигурировать. А для этого просто внимательно надо прочитать мануал и поэкспериментировать в пределах часа, дня, недели, двух.

Если же надо именно убедиться, что всё в сборе точно работает на продолжительном интервале времени, можно попробовать такие варианты:

  1. попробовать мотать дату на машине
  2. выяснить каким образом тул узнает текущую дату, например, через системную либу, и подменить её своей, которая будет выдавать нужное вам время
1 лайк

Попросите у девов список команд вэб-сервиса, отвечающего за тайминг. Напишите свою мини-мониторинг систему. Можно поднять маленький http клиент-сервер, к примеру, Jetty / GrizzlyHttpServer + Jersey. На нем устроить опрос удаленного сервиса с заданной периодичностью. Если сервис оповестил о запуске процесса, тригерим Jenkins job (via http), запускающий ваши UI тесты для сбора данных по аналитике.