From deb17f49008550500b52554b43ccefe783d75dd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20Poyatos?= Date: Mon, 16 Feb 2026 18:09:00 +0100 Subject: [PATCH] test(api): add cron expression validator tests --- api/src/backend/api/tests/test_validators.py | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 api/src/backend/api/tests/test_validators.py diff --git a/api/src/backend/api/tests/test_validators.py b/api/src/backend/api/tests/test_validators.py new file mode 100644 index 0000000000..f1a067112d --- /dev/null +++ b/api/src/backend/api/tests/test_validators.py @@ -0,0 +1,35 @@ +import pytest +from django.core.exceptions import ValidationError + +from api.validators import cron_5_fields_validator + + +class TestCron5FieldsValidator: + @pytest.mark.parametrize( + "expression", + [ + "* * * * *", + "*/30 * * * *", + "0 2 * * 1-5", + "15,45 8-18 * 1,6,12 1-5", + ], + ) + def test_accepts_valid_expressions(self, expression): + cron_5_fields_validator(expression) + + @pytest.mark.parametrize( + "expression", + [ + "*/30 * * *", + "@daily", + "0 24 * * *", + "0 2 0 * *", + "0 2 * 13 *", + "0 2 * * 9", + "*/0 * * * *", + "", + ], + ) + def test_rejects_invalid_expressions(self, expression): + with pytest.raises(ValidationError): + cron_5_fields_validator(expression)