mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-10-24 21:14:00 -07:00
* Get rid of all six.moves imports. * Get rid of iteritems. * Get rid of *_type(s) aliases. * Replace StringIO import. * Get rid of PY2/PY3 constants. * Get rid of raise_from. * Get rid of python_2_unicode_compatible. * Clean up global six imports. * Remove all usage of ansible.module_utils.six. * Linting. * Fix xml module. * Docs adjustments.
47 lines
1.2 KiB
Python
47 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.general.plugins.module_utils import deps
|
|
from ansible_collections.community.internal_test_tools.tests.unit.plugins.modules.utils import set_module_args as _set_module_args
|
|
|
|
|
|
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()
|