Skip to content

Commit f41553f

Browse files
committed
Added 2 new file existence checks to the check framework, since we're now reading email aliases for groups and documents from files. Added a call out to run_checks() in the test-crawler, so we don't see failures due to missing files.
- Legacy-Id: 10204
1 parent bce91b4 commit f41553f

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

bin/test-crawl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", args.settings or "ietf.settings_
4242

4343
import django
4444
import django.test
45+
import django.core.checks
4546

4647
django.setup()
4748

@@ -269,6 +270,14 @@ if __name__ == "__main__":
269270
(args.user, response.status_code))
270271
sys.exit(1)
271272

273+
# Run django system checks and checks from ietf.checks:
274+
error_list = django.core.checks.run_checks()
275+
if error_list:
276+
print("")
277+
for entry in error_list:
278+
print(entry)
279+
sys.exit(1)
280+
272281
while urls:
273282
if args.random:
274283
# popitem() is documented to be random, but really isn't

ietf/checks.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,50 @@ def check_cdn_directory_exists(app_configs, **kwargs):
2020
id='datatracker.E001',
2121
))
2222
return errors
23+
24+
@checks.register('files')
25+
def check_group_email_aliases_exists(app_configs, **kwargs):
26+
from ietf.group.info import get_group_email_aliases
27+
errors = []
28+
try:
29+
aliases = get_group_email_aliases(None, None)
30+
if not aliases:
31+
errors.append(checks.Error(
32+
"Found no aliases in the group email aliases file",
33+
hint="Please run ietf/bin/generate-wg-aliases to generate them.",
34+
obj=None,
35+
id="datatracker.E0002",
36+
))
37+
except IOError as e:
38+
errors.append(checks.Error(
39+
"Could not read group email aliases:\n %s" % e,
40+
hint="Please run ietf/bin/generate-wg-aliases to generate them.",
41+
obj=None,
42+
id="datatracker.E0003",
43+
))
44+
45+
return errors
46+
47+
@checks.register('files')
48+
def check_doc_email_aliases_exists(app_configs, **kwargs):
49+
from ietf.doc.views_doc import get_doc_email_aliases
50+
errors = []
51+
try:
52+
aliases = get_doc_email_aliases(None)
53+
if not aliases:
54+
errors.append(checks.Critical(
55+
"Found no aliases in the document email aliases file.",
56+
hint="Please run ietf/bin/generate-draft-aliases to generate them.",
57+
obj=None,
58+
id="datatracker.E0004",
59+
))
60+
except IOError as e:
61+
errors.append(checks.Critical(
62+
"Could not read document email aliases:\n %s" % e,
63+
hint="Please run ietf/bin/generate-draft-aliases to generate them.",
64+
obj=None,
65+
id="datatracker.E0005",
66+
))
67+
68+
return errors
69+

0 commit comments

Comments
 (0)