code: def test_resp_dollar(client):
      data = {
          "L1": {
              "a": {
                  "A1_B1": 10,
                  "A1_B2": False,
                  "A1_B3": {
                      "A1_B3_C1": None,
                      "A1_B3_C2": [
                          "A1_B3_C2_D1_1",
                          "A1_B3_C2_D1_2",
                          -19.5,
                          "A1_B3_C2_D1_4",
                          "A1_B3_C2_D1_5",
                          {"A1_B3_C2_D1_6_E1": True},
                      ],
                      "A1_B3_C3": [1],
                  },
                  "A1_B4": {"A1_B4_C1": "foo"},
              }
          },
          "L2": {
              "a": {
                  "A2_B1": 20,
                  "A2_B2": False,
                  "A2_B3": {
                      "A2_B3_C1": None,
                      "A2_B3_C2": [
                          "A2_B3_C2_D1_1",
                          "A2_B3_C2_D1_2",
                          -37.5,
                          "A2_B3_C2_D1_4",
                          "A2_B3_C2_D1_5",
                          {"A2_B3_C2_D1_6_E1": False},
                      ],
                      "A2_B3_C3": [2],
                  },
                  "A2_B4": {"A2_B4_C1": "bar"},
              }
          },
      }
      client.json().set("doc1", "$", data)
      # Test multi
      res = client.json().resp("doc1", "$..a")
      resp2 = [
          [
              "{",
              "A1_B1",
              10,
              "A1_B2",
              "false",
              "A1_B3",
              [
                  "{",
                  "A1_B3_C1",
                  None,
                  "A1_B3_C2",
                  [
                      "[",
                      "A1_B3_C2_D1_1",
                      "A1_B3_C2_D1_2",
                      "-19.5",
                      "A1_B3_C2_D1_4",
                      "A1_B3_C2_D1_5",
                      ["{", "A1_B3_C2_D1_6_E1", "true"],
                  ],
                  "A1_B3_C3",
                  ["[", 1],
              ],
              "A1_B4",
              ["{", "A1_B4_C1", "foo"],
          ],
          [
              "{",
              "A2_B1",
              20,
              "A2_B2",
              "false",
              "A2_B3",
              [
                  "{",
                  "A2_B3_C1",
                  None,
                  "A2_B3_C2",
                  [
                      "[",
                      "A2_B3_C2_D1_1",
                      "A2_B3_C2_D1_2",
                      "-37.5",
                      "A2_B3_C2_D1_4",
                      "A2_B3_C2_D1_5",
                      ["{", "A2_B3_C2_D1_6_E1", "false"],
                  ],
                  "A2_B3_C3",
                  ["[", 2],
              ],
              "A2_B4",
              ["{", "A2_B4_C1", "bar"],
          ],
      ]
      resp3 = [
          [
              "{",
              "A1_B1",
              10,
              "A1_B2",
              "false",
              "A1_B3",
              [
                  "{",
                  "A1_B3_C1",
                  None,
                  "A1_B3_C2",
                  [
                      "[",
                      "A1_B3_C2_D1_1",
                      "A1_B3_C2_D1_2",
                      -19.5,
                      "A1_B3_C2_D1_4",
                      "A1_B3_C2_D1_5",
                      ["{", "A1_B3_C2_D1_6_E1", "true"],
                  ],
                  "A1_B3_C3",
                  ["[", 1],
              ],
              "A1_B4",
              ["{", "A1_B4_C1", "foo"],
          ],
          [
              "{",
              "A2_B1",
              20,
              "A2_B2",
              "false",
              "A2_B3",
              [
                  "{",
                  "A2_B3_C1",
                  None,
                  "A2_B3_C2",
                  [
                      "[",
                      "A2_B3_C2_D1_1",
                      "A2_B3_C2_D1_2",
                      -37.5,
                      "A2_B3_C2_D1_4",
                      "A2_B3_C2_D1_5",
                      ["{", "A2_B3_C2_D1_6_E1", "false"],
                  ],
                  "A2_B3_C3",
                  ["[", 2],
              ],
              "A2_B4",
              ["{", "A2_B4_C1", "bar"],
          ],
      ]
      assert_resp_response(client, res, resp2, resp3)
  
      # Test single
      res = client.json().resp("doc1", "$.L1.a")
      resp2 = [
          [
              "{",
              "A1_B1",
              10,
              "A1_B2",
              "false",
              "A1_B3",
              [
                  "{",
                  "A1_B3_C1",
                  None,
                  "A1_B3_C2",
                  [
                      "[",
                      "A1_B3_C2_D1_1",
                      "A1_B3_C2_D1_2",
                      "-19.5",
                      "A1_B3_C2_D1_4",
                      "A1_B3_C2_D1_5",
                      ["{", "A1_B3_C2_D1_6_E1", "true"],
                  ],
                  "A1_B3_C3",
                  ["[", 1],
              ],
              "A1_B4",
              ["{", "A1_B4_C1", "foo"],
          ]
      ]
      resp3 = [
          [
              "{",
              "A1_B1",
              10,
              "A1_B2",
              "false",
              "A1_B3",
              [
                  "{",
                  "A1_B3_C1",
                  None,
                  "A1_B3_C2",
                  [
                      "[",
                      "A1_B3_C2_D1_1",
                      "A1_B3_C2_D1_2",
                      -19.5,
                      "A1_B3_C2_D1_4",
                      "A1_B3_C2_D1_5",
                      ["{", "A1_B3_C2_D1_6_E1", "true"],
                  ],
                  "A1_B3_C3",
                  ["[", 1],
              ],
              "A1_B4",
              ["{", "A1_B4_C1", "foo"],
          ]
      ]
      assert_resp_response(client, res, resp2, resp3)
  
      # Test missing path
      client.json().resp("doc1", "$.nowhere")
  
      # Test missing key
      # with pytest.raises(exceptions.ResponseError):
      client.json().resp("non_existing_doc", "$..a")
  
imports: import pytest
  import redis
  from redis import Redis, exceptions
  from redis.commands.json.decoders import decode_list, unstring
  from redis.commands.json.path import Path
  from .conftest import _get_client, assert_resp_response, skip_ifmodversion_lt
label_desc: Use image node_id 45 for calling a global function with example usage: test_resp_dollar(client) without return types