File: test_validator.py

package info (click to toggle)
python-cron-descriptor 2.0.6-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 756 kB
  • sloc: python: 1,641; makefile: 7; sh: 4
file content (80 lines) | stat: -rw-r--r-- 1,808 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

from cron_descriptor.ExpressionValidator import ExpressionValidator

"""
Tests validator
"""

valid = [
    "57,59 * * 1 * 1",
    "1,2,3-15 * * 1 * 1",
    "1-2,2,3-15 * * 1 * 1",
    "* 1,59 * 1 * 1",
    "* 1,2,3-15 * 1 * 1",
    "* 1-2,2,3-15 * 1 * 1",
    "* * 1 ? * *",
    "* 1-12 ? * *",
    "* 1/12 ? * *",
    "* 1-5/12 ? * *",
    "* 1,23 ? * *",
    "* 1,2,7-23 ? * *",
    "* 1-2,2,7-23 ? * *",
    "* * ? * *",
    "* * 1 * *",
    "* * 31 * *",
    "* * 1-2/31 * *",
    "* * 1,20 * *",
    "* * LW * *",
    "* * 1W * *",
    "* * 31W * *",
    "* * ? 1 *",
    "* * ? 12 *",
    "* * ? JAN *",
    "* * ? 1-12 *",
    "* * ? JAN-DEC *",
    "* * ? 1/12 *",
    "* * ? 1-5/12 *",
    "* * ? 1,2,3 *",
    "* * ? 1,Feb,3 *",
    "* * ? 1,5,6-12 *",
    "* * ? 1-2,5,6-12 *",
    "* * ? JAN-FEB,5,6-12 *",
    "* * ? * 0",
    "* * ? * 6",
    "* * ? * SUN",
    "* * ? * 0/6",
    "* * ? * 0-1/6",
    "* * ? * 0-1",
    "* * ? * MON-wed",
    "* * ? * MON-wed,sun,4",
    "* * ? * MON,3",
    "* * ? * 2L",
    "* * ? * 6L",
    "* * ? * 0#3",
    "* * ? * * 1970",
    "* * ? * * 2099",
    "* * ? * * 1970-2099",
    "* * ? * * 1970/129",
    "* * * ? * * 1970-2001/129",
    "* * * ? * * 1970,1971,2099",
    "* * * ? * * 1970-1971,1972,2000-2002",
    "* * * * * 2013",
]

invalid = [

    "0-59 * * 1 * 1",     # invalid DOW range
    "1-2/59 * * 1 * 1",   # invalid step
    "* * /31 * *",        # stray slash
    "* * l-31 * *",       # lowercase 'l'
    "* * lw * *",         # lowercase 'lw'
    "* * ? * /6",         # stray slash
    "* * ? * * /129",     # stray slash
    "* /12 ? * *",        # stray slash
    "* * W21 * * 0/2",    # W before number
]

def test_validator_expression() -> None:
    for expression in valid:
        ExpressionValidator().validate(expression)