# Copyright (c) 2020-2021, Felix Fontein # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later # Make coding more python3-ish from __future__ import annotations from unittest import TestCase from ansible.plugins.loader import lookup_loader from ansible.template import Templar from ansible_collections.community.internal_test_tools.tests.unit.utils.trust import make_trusted class TestLookupModule(TestCase): def setUp(self): templar = Templar(loader=None) self.lookup = lookup_loader.get("community.general.dependent", templar=templar) def test_empty(self): self.assertListEqual(self.lookup.run([], None), []) def test_simple(self): self.assertListEqual( self.lookup.run( [ {"a": make_trusted("[1, 2]")}, {"b": make_trusted("[item.a + 3, item.a + 6]")}, {"c": make_trusted("[item.a + item.b * 10]")}, ], {}, ), [ {"a": 1, "b": 4, "c": 41}, {"a": 1, "b": 7, "c": 71}, {"a": 2, "b": 5, "c": 52}, {"a": 2, "b": 8, "c": 82}, ], )