Files
community.general/tests/unit/plugins/modules/conftest.py
Felix Fontein 4fa82b9617 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.
2026-04-20 20:16:26 +02:00

51 lines
1.2 KiB
Python

# Copyright (c) 2017 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 contextlib as _contextlib
import json
from collections.abc import MutableMapping
import pytest
from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import (
set_module_args as _set_module_args,
)
from ansible_collections.community.general.plugins.module_utils import _deps as deps
def _fix_ansible_args(args):
if isinstance(args, str):
# This should be deprecated!
return json.loads(args)
if isinstance(args, MutableMapping):
return args
raise Exception("Malformed data to the patch_ansible_module pytest fixture")
@pytest.fixture
def patch_ansible_module(request):
args = _fix_ansible_args(request.param)
with _set_module_args(args):
yield
@pytest.fixture
def patch_ansible_module_uthelper(request):
@_contextlib.contextmanager
def _patch(args):
args = _fix_ansible_args(args)
with _set_module_args(args):
yield
return _patch
@pytest.fixture(autouse=True)
def deps_cleanup():
deps.clear()