Vsevolod Fedorov 60e8395c62 Add source location and context to error messages
Change-Id: I2e955c01b71a195bb6ff8ba2bb6f3a64cb3e1f58
2023-04-04 13:35:42 +03:00

22 lines
615 B
Python

from unittest.mock import Mock
import pytest
from jenkins_jobs.config import JJBConfig
from jenkins_jobs.yaml_objects import J2String
cases = [
("{{ abc }}", {"abc"}),
("{% if cond %} {{ x }} {% else %} {{ y }} {% endif %}", {"cond", "x", "y"}),
("{# {{ abc }} #}", {}),
]
@pytest.mark.parametrize("format,expected_used_params", cases)
def test_jinja2_required_params(format, expected_used_params):
config = JJBConfig()
loader = Mock(source_path=None)
template = J2String(config, loader, pos=None, template_text=format)
assert template.required_params == set(expected_used_params)