code: def test_redis_client_is_singleton(self):
      with patch("redis.Redis") as mock:
          mock.side_effect = self._get_randint
  
          redis_client_0_0 = RedisClient(host="host_0", port="123")
          redis_client_1 = RedisClient(host="host_1", port="123")
          redis_client_0_1 = RedisClient(host="host_0", port="123")
  
          self.assertNotEqual(redis_client_0_0, redis_client_1)
          self.assertEqual(redis_client_0_0, redis_client_0_1)
  
          self.assertEqual(
              redis_client_0_0.get_redis_client(),
              redis_client_0_1.get_redis_client(),
          )
  
imports: import random
  import time
  import unittest
  from unittest.mock import MagicMock, patch
  import fakeredis
  from gokart.redis_lock import RedisClient, RedisParams, make_redis_key, make_redis_params, wrap_with_dump_lock, wrap_with_load_lock, wrap_with_remove_lock, wrap_with_run_lock
label_desc: Use image node_id 2 for calling the TestRedisClient obj's underlying member method code with example usage: obj.test_redis_client_is_singleton() without return types