def test_extended_cron_syntax(self): assert 'Once an hour' == translate('@hourly') assert 'Every day at 12:00am' == translate('@daily') assert 'Every Sunday at 12:00am' == translate('@weekly') assert 'The 1st of every month at 12:00am' == translate('@monthly') assert 'Every year on January the 1st at 12:00am' == translate('@yearly') assert 'Every year on January the 1st at 12:00am' == translate('@annually')
def test_parsing_exception(self): with pytest.raises(CronParsingException): translate('INVALID_EXPRESSION') translate('P * * * *') translate('1,2-3 * * * *') translate('1/2/3 * * * *') translate('* * * 0 *') translate('* * * 13 *') translate('* * * * 8')
def test_expressions__multiple(self): assert 'Every minute 2 hours a day' == translate('* 8,18 * * *') assert 'Every minute 3 hours a day' == translate('* 8,18,20 * * *') assert 'Every minute 20 hours a day' == translate('* 1-20 * * *') assert 'Twice an hour' == translate('0,30 * * * *') assert 'Twice an hour 5 hours a day' == translate('0,30 1-5 * * *') assert '5 times a day' == translate('0 1-5 * * *') assert 'Every minute 5 hours a day' == translate('* 1-5 * * *') assert '5 days a month at 1:00am' == translate('0 1 1-5 * *') assert '5 days a month 2 months a year at 1:00am' == translate('0 1 1-5 5,6 *') assert '2 months a year on the 5th at 1:00am' == translate('0 1 5 5,6 *') assert 'The 5th of every month 4 days a week at 1:00am' == translate('0 1 5 * 1-4')
def test_expressions_increment(self): assert 'Every 2 minutes' == translate('*/2 * * * *') assert 'Every 2 minutes' == translate('1/2 * * * *') assert 'Twice every 4 minutes' == translate('1,3/4 * * * *') assert '3 times every 5 minutes' == translate('1-3/5 * * * *') assert 'Every 2 minutes at 2pm' == translate('*/2 14 * * *') assert 'Once an hour every 2 days' == translate('0 * */2 * *') assert 'Every minute every 2 days' == translate('* * */2 * *') assert 'Once every 2 hours' == translate('0 */2 * * *') assert 'Twice every 5 hours' == translate('0 1,2/5 * * *') assert 'Every minute 2 hours out of 5' == translate('* 1,2/5 * * *') assert 'Every day every 4 months at 12:00am' == translate('0 0 * */4 *')
def test_junctions_combinations(self): assert 'Every minute of every 2 hours' == translate('* */2 * * *') assert 'Every minute of every 3 hours on the 2nd of every month' == translate('* 1/3 2 * *')
def test_one_into_once(self): assert 'Every minute at 8am' == translate('* 8-8 * * *') assert 'Every minute on January' == translate('* * * 1-1 *')
def test_translate(self): assert 'Every minute on Sunday' == translate('* * * * 0') assert 'Every minute on Sunday' == translate('* * * * 7') assert 'Every minute on January' == translate('* * * 1 *') assert 'Every minute on Sunday in January' == translate('* * * 1 0') assert 'Every minute on the 1st of every month' == translate('* * 1 * *') assert 'Every minute on Sundays on the 1st of every month' == translate('* * 1 * 0') assert 'Every minute on January the 1st' == translate('* * 1 1 *') assert 'Every minute on Sundays on January the 1st' == translate('* * 1 1 0') assert 'Every minute at 12am' == translate('* 0 * * *') assert 'Every minute on Sundays at 12am' == translate('* 0 * * 0') assert 'Every minute on January at 12am' == translate('* 0 * 1 *') assert 'Every minute on Sundays on January at 12am' == translate('* 0 * 1 0') assert 'Every minute on the 1st of every month at 12am' == translate('* 0 1 * *') assert 'Every minute on Sundays on the 1st of every month at 12am' == translate('* 0 1 * 0') assert 'Every minute on January the 1st at 12am' == translate('* 0 1 1 *') assert 'Every minute on Sundays on January the 1st at 12am' == translate('* 0 1 1 0') assert 'Once an hour' == translate('0 * * * *') assert 'Once an hour on Sundays' == translate('0 * * * 0') assert 'Once an hour on January' == translate('0 * * 1 *') assert 'Once an hour on Sundays on January' == translate('0 * * 1 0') assert 'Once an hour on the 1st of every month' == translate('0 * 1 * *') assert 'Once an hour on Sundays on the 1st of every month' == translate('0 * 1 * 0') assert 'Once an hour on January the 1st' == translate('0 * 1 1 *') assert 'Once an hour on Sundays on January the 1st' == translate('0 * 1 1 0') assert 'Every day at 12:00am' == translate('0 0 * * *') assert 'Every Sunday at 12:00am' == translate('0 0 * * 0') assert 'Every day on January at 12:00am' == translate('0 0 * 1 *') assert 'Every Sunday on January at 12:00am' == translate('0 0 * 1 0') assert 'The 1st of every month at 12:00am' == translate('0 0 1 * *') assert 'The 1st of every month on Sundays at 12:00am' == translate('0 0 1 * 0') assert 'Every year on January the 1st at 12:00am' == translate('0 0 1 1 *') assert 'On Sundays on January the 1st at 12:00am' == translate('0 0 1 1 0') assert 'Every year on January the 1st at 12:00pm' == translate('0 12 1 1 *') assert 'Every minute on Mondays at 3pm' == translate('* 15 * * 1') assert 'Every minute on January the 3rd' == translate('* * 3 1 *') assert 'Every minute on Mondays on April' == translate('* * * 4 1') assert 'On Mondays on April the 22nd at 3:10pm' == translate('10 15 22 4 1') assert 'Every day at 10:00pm' == translate('0 22 * * *') assert 'Every day at 9:00am' == translate('0 9 * * *') assert 'Every Monday at 4:00pm' == translate('0 16 * * 1') assert 'Every year on January the 1st at 12:00am' == translate('0 0 1 1 *') assert 'The 1st of every month at 12:00am' == translate('0 0 1 * *')