code: def test_arrpop(client):
      client.json().set("arr", Path.root_path(), [0, 1, 2, 3, 4])
      assert 4 == client.json().arrpop("arr", Path.root_path(), 4)
      assert 3 == client.json().arrpop("arr", Path.root_path(), -1)
      assert 2 == client.json().arrpop("arr", Path.root_path())
      assert 0 == client.json().arrpop("arr", Path.root_path(), 0)
      assert_resp_response(
          client, client.json().get("arr"), [1], [[[1]]]
      )
  
      # test out of bounds
      client.json().set("arr", Path.root_path(), [0, 1, 2, 3, 4])
      assert 4 == client.json().arrpop("arr", Path.root_path(), 99)
  
      # none test
      client.json().set("arr", Path.root_path(), [])
      assert client.json().arrpop("arr") is None
  
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 22 for calling a global function with example usage: test_arrpop(client) without return types