salt/tests/pytests/unit/utils/test_mako.py
Pedro Algarvio 560ab52ccf Fixed file client private attribute reference on SaltMakoTemplateLookup
Fixes #64280

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
2023-05-31 14:39:59 +00:00

28 lines
1 KiB
Python

import pytest
from tests.support.mock import Mock, call, patch
pytest.importorskip("mako")
# This import needs to be after the above importorskip so that no ImportError
# is raised if Mako is not installed
from salt.utils.mako import SaltMakoTemplateLookup
def test_mako_template_lookup(minion_opts):
"""
The shudown method can be called without raising an exception when the
file_client does not have a destroy method
"""
# Test SaltCacheLoader creating and destroying the file client created
file_client = Mock()
with patch("salt.fileclient.get_file_client", return_value=file_client):
loader = SaltMakoTemplateLookup(minion_opts)
assert loader._file_client is None
assert loader.file_client() is file_client
assert loader._file_client is file_client
try:
loader.destroy()
except AttributeError:
pytest.fail("Regression when calling SaltMakoTemplateLookup.destroy()")
assert file_client.mock_calls == [call.destroy()]