Source code for mails.tests.test_files

import glob
import os

from django.template.exceptions import TemplateDoesNotExist
from django.test import TestCase

from mails.core import MailEngine
from mails.exceptions import ConfigurationError


[docs]class MailLogFilesTests(TestCase): """ Test if all defined templated emails are configured correctly. """
[docs] def test_all_configuration_files(self): """Test configuration files found are valid.""" folder = "templates/email" files = glob.glob("{}/**/*.json".format(folder), recursive=True) i = 0 for path_file in files: file_name = path_file.replace(folder + "/", "") mail_code = os.path.splitext(file_name)[0] if mail_code.startswith("test"): # Skip all test files continue try: engine = MailEngine(mail_code) engine._read_configuration_file() engine._detect_and_save_object() engine._check_template_exists() engine._validate_configuration() except Exception as e: self.fail('Mail ("{}") configuration invalid:\n{}'.format(mail_code, e)) i += 1 print("Tested {} files".format(i))