29 lines
877 B
Python
29 lines
877 B
Python
|
# Copyright: (c) 2019, Ansible Project
|
||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||
|
|
||
|
# Make coding more python3-ish
|
||
|
from __future__ import (absolute_import, division, print_function)
|
||
|
__metaclass__ = type
|
||
|
|
||
|
import pytest
|
||
|
|
||
|
from ansible import constants as C
|
||
|
from ansible.errors import AnsibleUndefinedVariable
|
||
|
|
||
|
# need to mock DEFAULT_JINJA2_NATIVE here so native modules are imported
|
||
|
# correctly within the template module
|
||
|
C.DEFAULT_JINJA2_NATIVE = True
|
||
|
from ansible.template import Templar
|
||
|
|
||
|
from units.mock.loader import DictDataLoader
|
||
|
|
||
|
|
||
|
# https://github.com/ansible/ansible/issues/52158
|
||
|
def test_undefined_variable():
|
||
|
fake_loader = DictDataLoader({})
|
||
|
variables = {}
|
||
|
templar = Templar(loader=fake_loader, variables=variables)
|
||
|
|
||
|
with pytest.raises(AnsibleUndefinedVariable):
|
||
|
templar.template("{{ missing }}")
|