Files
ansible/test/units/module_utils/common/test_json.py
Matt Davis 35750ed321 Templating overhaul, implement Data Tagging (#84621)
Co-authored-by: Matt Davis <mrd@redhat.com>
Co-authored-by: Matt Clay <matt@mystile.com>
2025-04-14 08:54:36 -07:00

20 lines
691 B
Python

from __future__ import annotations
import json
from ansible.module_utils import _internal
from ansible.module_utils.common.json import AnsibleJSONEncoder
from ansible.module_utils._internal._json._legacy_encoder import LegacyTargetJSONEncoder
def test_controller_impl_patch() -> None:
"""Ensure that the context-appropriate implementation of `AnsibleJSONEncoder` is patched into the module."""
if _internal.is_controller:
assert AnsibleJSONEncoder is not LegacyTargetJSONEncoder
else:
assert AnsibleJSONEncoder is LegacyTargetJSONEncoder
def test_mu_bytes() -> None:
assert json.dumps(b'abc', cls=LegacyTargetJSONEncoder, _decode_bytes=True) == '"abc"'