mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 21:32:49 +00:00
Make all doc fragments, module utils, and plugin utils private (#11896)
* Make all doc fragments private. * Make all plugin utils private. * Make all module utils private. * Reformat. * Changelog fragment. * Update configs and ignores. * Adjust unit test names.
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# 2018.07.26 --- use DictComparison instead of GcpRequest
|
||||
#
|
||||
# Copyright (c) 2016, Tom Melendez <tom@supertom.com>
|
||||
#
|
||||
# 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
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils._hwc_utils import are_different_dicts
|
||||
|
||||
|
||||
class HwcDictComparisonTestCase(unittest.TestCase):
|
||||
def test_simple_no_difference(self):
|
||||
value1 = {"foo": "bar", "test": "original"}
|
||||
|
||||
self.assertFalse(are_different_dicts(value1, value1))
|
||||
|
||||
def test_simple_different(self):
|
||||
value1 = {"foo": "bar", "test": "original"}
|
||||
value2 = {"foo": "bar", "test": "different"}
|
||||
value3 = {"test": "original"}
|
||||
|
||||
self.assertTrue(are_different_dicts(value1, value2))
|
||||
self.assertTrue(are_different_dicts(value1, value3))
|
||||
self.assertTrue(are_different_dicts(value2, value3))
|
||||
|
||||
def test_nested_dictionaries_no_difference(self):
|
||||
value1 = {"foo": {"quiet": {"tree": "test"}, "bar": "baz"}, "test": "original"}
|
||||
|
||||
self.assertFalse(are_different_dicts(value1, value1))
|
||||
|
||||
def test_nested_dictionaries_with_difference(self):
|
||||
value1 = {"foo": {"quiet": {"tree": "test"}, "bar": "baz"}, "test": "original"}
|
||||
value2 = {"foo": {"quiet": {"tree": "baz"}, "bar": "hello"}, "test": "original"}
|
||||
value3 = {"foo": {"quiet": {"tree": "test"}, "bar": "baz"}}
|
||||
|
||||
self.assertTrue(are_different_dicts(value1, value2))
|
||||
self.assertTrue(are_different_dicts(value1, value3))
|
||||
self.assertTrue(are_different_dicts(value2, value3))
|
||||
|
||||
def test_arrays_strings_no_difference(self):
|
||||
value1 = {"foo": ["baz", "bar"]}
|
||||
|
||||
self.assertFalse(are_different_dicts(value1, value1))
|
||||
|
||||
def test_arrays_strings_with_difference(self):
|
||||
value1 = {
|
||||
"foo": [
|
||||
"baz",
|
||||
"bar",
|
||||
]
|
||||
}
|
||||
|
||||
value2 = {"foo": ["baz", "hello"]}
|
||||
value3 = {
|
||||
"foo": [
|
||||
"bar",
|
||||
]
|
||||
}
|
||||
|
||||
self.assertTrue(are_different_dicts(value1, value2))
|
||||
self.assertTrue(are_different_dicts(value1, value3))
|
||||
self.assertTrue(are_different_dicts(value2, value3))
|
||||
|
||||
def test_arrays_dicts_with_no_difference(self):
|
||||
value1 = {"foo": [{"test": "value", "foo": "bar"}, {"different": "dict"}]}
|
||||
|
||||
self.assertFalse(are_different_dicts(value1, value1))
|
||||
|
||||
def test_arrays_dicts_with_difference(self):
|
||||
value1 = {"foo": [{"test": "value", "foo": "bar"}, {"different": "dict"}]}
|
||||
value2 = {
|
||||
"foo": [
|
||||
{"test": "value2", "foo": "bar2"},
|
||||
]
|
||||
}
|
||||
value3 = {"foo": [{"test": "value", "foo": "bar"}]}
|
||||
|
||||
self.assertTrue(are_different_dicts(value1, value2))
|
||||
self.assertTrue(are_different_dicts(value1, value3))
|
||||
self.assertTrue(are_different_dicts(value2, value3))
|
||||
38
tests/unit/plugins/module_utils/_hwc_utils/test_hwc_utils.py
Normal file
38
tests/unit/plugins/module_utils/_hwc_utils/test_hwc_utils.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# Copyright (c) Ansible project
|
||||
# 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
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
|
||||
from ansible_collections.community.general.plugins.module_utils._hwc_utils import HwcModuleException, navigate_value
|
||||
|
||||
|
||||
class HwcUtilsTestCase(unittest.TestCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
def test_navigate_value(self):
|
||||
value = {
|
||||
"foo": {
|
||||
"quiet": {"tree": "test", "trees": [0, 1]},
|
||||
}
|
||||
}
|
||||
|
||||
self.assertEqual(navigate_value(value, ["foo", "quiet", "tree"]), "test")
|
||||
|
||||
self.assertEqual(navigate_value(value, ["foo", "quiet", "trees"], {"foo.quiet.trees": 1}), 1)
|
||||
|
||||
self.assertRaisesRegex(
|
||||
HwcModuleException, r".* key\(q\) is not exist in dict", navigate_value, value, ["foo", "q", "tree"]
|
||||
)
|
||||
|
||||
self.assertRaisesRegex(
|
||||
HwcModuleException,
|
||||
r".* the index is out of list",
|
||||
navigate_value,
|
||||
value,
|
||||
["foo", "quiet", "trees"],
|
||||
{"foo.quiet.trees": 2},
|
||||
)
|
||||
Reference in New Issue
Block a user