-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathtest_checks.py
More file actions
109 lines (101 loc) · 3.1 KB
/
test_checks.py
File metadata and controls
109 lines (101 loc) · 3.1 KB
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
from dockerflow import checks
def test_run_checks():
check_fns = (
("returns_error", lambda: [checks.Error("my error message", id="my.error")]),
)
results = checks.run_checks(checks=check_fns)
assert results.level == checks.ERROR
assert results.statuses == {"returns_error": "error"}
assert results.details == {
"returns_error": {
"level": checks.ERROR,
"messages": {"my.error": "my error message"},
"status": "error",
}
}
def test_run_multiple_checks():
check_fns = (
(
"returns_error",
lambda: [checks.Error("my error message", id="my.error")],
),
(
"returns_warning",
lambda: [checks.Warning("my warning message", id="my.warning")],
),
)
results = checks.run_checks(checks=check_fns)
assert results.level == checks.ERROR
assert results.statuses == {"returns_error": "error", "returns_warning": "warning"}
assert results.details == {
"returns_error": {
"level": checks.ERROR,
"messages": {"my.error": "my error message"},
"status": "error",
},
"returns_warning": {
"level": 30,
"messages": {"my.warning": "my warning message"},
"status": "warning",
},
}
def test_silenced_checks():
check_fns = (
(
"returns_error",
lambda: [checks.Error("my error message", id="my.error")],
),
(
"returns_warning",
lambda: [checks.Warning("my warning message", id="my.warning")],
),
)
results = checks.run_checks(checks=check_fns, silenced_check_ids=["my.error"])
assert results.details == {
"returns_warning": {
"level": checks.WARNING,
"messages": {
"my.warning": "my warning message",
},
"status": "warning",
}
}
def test_checks_returns_multiple_messages():
check_fns = (
(
"returns_messages",
lambda: [
checks.Error("my error message", id="my.error"),
checks.Warning("my warning message", id="my.warning"),
],
),
(
"returns_more_messages",
lambda: [
checks.Warning("another warning message", id="another.warning"),
],
),
)
results = checks.run_checks(checks=check_fns)
assert results.level == checks.ERROR
assert results.statuses == {
"returns_messages": "error",
"returns_more_messages": "warning",
}
assert results.details == {
"returns_messages": {
"level": checks.ERROR,
"messages": {
"my.warning": "my warning message",
"my.error": "my error message",
},
"status": "error",
},
"returns_more_messages": {
"level": checks.WARNING,
"messages": {
"another.warning": "another warning message",
},
"status": "warning",
},
}