diff options
author | kiorky <kiorky@cryptelium.net> | 2023-04-12 18:06:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-12 18:06:59 +0200 |
commit | 0e757e1f86ab6b58184d88766e2c62d253a27d1a (patch) | |
tree | 74b19773d9ec946e092046f034d8489a35e41866 | |
parent | 2294c159ce022c8cc49573498899d424c68afeb0 (diff) | |
parent | d76a8a4a13a1077fb26445c203d56bdc0c481847 (diff) | |
download | croniter-0e757e1f86ab6b58184d88766e2c62d253a27d1a.tar.gz |
Merge pull request #39 from sg3-141-592/adding-range-begin-end-check
Adding check for range begin end
-rw-r--r-- | src/croniter/croniter.py | 4 | ||||
-rw-r--r-- | src/croniter/tests/test_croniter_hash.py | 10 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/croniter/croniter.py b/src/croniter/croniter.py index 8c1880e..a7dff11 100644 --- a/src/croniter/croniter.py +++ b/src/croniter/croniter.py @@ -909,6 +909,10 @@ class HashExpander: if m['hash_type'] == 'h' and hash_id is None: raise CroniterBadCronError('Hashed definitions must include hash_id') + + if m['range_begin'] and m['range_end']: + if int(m['range_begin']) >= int(m['range_end']): + raise CroniterBadCronError('Range end must be greater than range begin') if m['range_begin'] and m['range_end']: if int(m['range_begin']) >= int(m['range_end']): diff --git a/src/croniter/tests/test_croniter_hash.py b/src/croniter/tests/test_croniter_hash.py index b8a4e7b..cd1e365 100644 --- a/src/croniter/tests/test_croniter_hash.py +++ b/src/croniter/tests/test_croniter_hash.py @@ -98,6 +98,16 @@ class CroniterHashTest(CroniterHashBase): self._test_iter( 'H(30-59)/10 H * * *', datetime(2020, 1, 1, 11, 31), timedelta(minutes=10) ) + + def test_hash_invalid_range(self): + """Test validation logic for range_begin and range_end values""" + try: + self._test_iter( + 'H(11-10) H * * *', datetime(2020, 1, 1, 11, 31), timedelta(minutes=10) + ) + except (CroniterBadCronError) as ex: + self.assertEqual("{0}".format(ex), + 'Range end must be greater than range begin') def test_hash_invalid_range(self): """Test validation logic for range_begin and range_end values""" |