22 lines
591 B
Python
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)
|