File: test_json.py

package info (click to toggle)
ansible-core 2.19.0~beta6-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 32,628 kB
  • sloc: python: 180,313; cs: 4,929; sh: 4,601; xml: 34; makefile: 21
file content (19 lines) | stat: -rw-r--r-- 691 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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"'