From 16d6e4a8e5538519e7fa528cbfbf4d12c4240859 Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Tue, 8 Jul 2025 06:40:54 +0200 Subject: [PATCH] dependent lookup: avoid deprecated ansible-core 2.19 functionality (#10359) * Avoid deprecated ansible-core 2.19 functionality. * Adjust unit tests. --- changelogs/fragments/10359-dependent.yml | 2 ++ plugins/lookup/dependent.py | 5 ++++- tests/unit/plugins/lookup/test_dependent.py | 8 +++----- 3 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 changelogs/fragments/10359-dependent.yml diff --git a/changelogs/fragments/10359-dependent.yml b/changelogs/fragments/10359-dependent.yml new file mode 100644 index 0000000000..e48a6142e8 --- /dev/null +++ b/changelogs/fragments/10359-dependent.yml @@ -0,0 +1,2 @@ +bugfixes: + - "dependent lookup plugin - avoid deprecated ansible-core 2.19 functionality (https://github.com/ansible-collections/community.general/pull/10359)." diff --git a/plugins/lookup/dependent.py b/plugins/lookup/dependent.py index b243ee8e1f..18d2a000d9 100644 --- a/plugins/lookup/dependent.py +++ b/plugins/lookup/dependent.py @@ -197,7 +197,10 @@ class LookupModule(LookupBase): result = [] if len(terms) > 0: - templar = Templar(loader=self._templar._loader) + if HAS_DATATAGGING: + templar = self._templar.copy_with_new_env(available_variables={}) + else: + templar = Templar(loader=self._templar._loader) data = [] vars_so_far = set() for index, term in enumerate(terms): diff --git a/tests/unit/plugins/lookup/test_dependent.py b/tests/unit/plugins/lookup/test_dependent.py index ad02cecf19..fef53dec00 100644 --- a/tests/unit/plugins/lookup/test_dependent.py +++ b/tests/unit/plugins/lookup/test_dependent.py @@ -9,10 +9,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from ansible.template import Templar + from ansible_collections.community.internal_test_tools.tests.unit.compat.unittest import TestCase -from ansible_collections.community.internal_test_tools.tests.unit.compat.mock import ( - MagicMock, -) from ansible_collections.community.internal_test_tools.tests.unit.utils.trust import make_trusted from ansible.plugins.loader import lookup_loader @@ -20,8 +19,7 @@ from ansible.plugins.loader import lookup_loader class TestLookupModule(TestCase): def setUp(self): - templar = MagicMock() - templar._loader = None + templar = Templar(loader=None) self.lookup = lookup_loader.get("community.general.dependent", templar=templar) def test_empty(self):