mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
test_templates: Remove shallow template rendering code.
This code was very useful when first implemented to help catch errors where our backend templates didn't render, but has been superceded by the success of our URL coverage testing (which ensures every URL supported by Zulip's urls.py is accessed by our tests, with a few exceptions) and other tests covering all of the emails Zulip sends. It has a significant maintenance cost because it's a bit hacky and involves generating fake context, so it makes sense to remove these. Any future coverage issues with templates should be addressed with a direct test that just accessing the relevant URL or sends the relevant email.
This commit is contained in:
@@ -7,7 +7,6 @@ from typing import (
|
||||
from django.urls.resolvers import LocaleRegexURLResolver
|
||||
from django.conf import settings
|
||||
from django.test import override_settings
|
||||
from django.template import loader
|
||||
from django.http import HttpResponse, HttpResponseRedirect
|
||||
from django.db.migrations.state import StateApps
|
||||
from boto.s3.connection import S3Connection
|
||||
@@ -443,36 +442,6 @@ def write_instrumentation_reports(full_suite: bool, include_webhooks: bool) -> N
|
||||
print(" %s" % (untested_pattern,))
|
||||
sys.exit(1)
|
||||
|
||||
def get_all_templates() -> List[str]:
|
||||
templates = []
|
||||
|
||||
relpath = os.path.relpath
|
||||
isfile = os.path.isfile
|
||||
path_exists = os.path.exists
|
||||
|
||||
def is_valid_template(p: str, n: str) -> bool:
|
||||
return 'webhooks' not in p \
|
||||
and not n.startswith('.') \
|
||||
and not n.startswith('__init__') \
|
||||
and not n.endswith('.md') \
|
||||
and not n.endswith('.source.html') \
|
||||
and isfile(p)
|
||||
|
||||
def process(template_dir: str, dirname: str, fnames: Iterable[str]) -> None:
|
||||
for name in fnames:
|
||||
path = os.path.join(dirname, name)
|
||||
if is_valid_template(path, name):
|
||||
templates.append(relpath(path, template_dir))
|
||||
|
||||
for engine in loader.engines.all():
|
||||
template_dirs = [d for d in engine.template_dirs if path_exists(d)]
|
||||
for template_dir in template_dirs:
|
||||
template_dir = os.path.normpath(template_dir)
|
||||
for dirpath, dirnames, fnames in os.walk(template_dir):
|
||||
process(template_dir, dirpath, fnames)
|
||||
|
||||
return templates
|
||||
|
||||
def load_subdomain_token(response: HttpResponse) -> Dict[str, Any]:
|
||||
assert isinstance(response, HttpResponseRedirect)
|
||||
token = response.url.rsplit('/', 1)[1]
|
||||
|
||||
Reference in New Issue
Block a user