jenkins-job-builder/tests/formatter/test_jinja2.py

22 lines
591 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, format)
assert template.required_params == set(expected_used_params)