code: def test_extra_typed_querystring_options(self):
      pool = redis.ConnectionPool.from_url(
          "redis://localhost/2?socket_timeout=20&socket_connect_timeout=10"
          "&socket_keepalive=&retry_on_timeout=Yes&max_connections=10"
      )
  
      assert pool.connection_class == redis.Connection
      assert pool.connection_kwargs == {
          "host": "localhost",
          "db": 2,
          "socket_timeout": 20.0,
          "socket_connect_timeout": 10.0,
          "retry_on_timeout": True,
      }
      assert pool.max_connections == 10
  
imports: import asyncio
  import re
  import pytest
  import pytest_asyncio
  import redis.asyncio
  from redis.asyncio.connection import Connection, to_bool
  from tests.conftest import skip_if_redis_enterprise, skip_if_server_version_lt
  from .compat import aclosing, mock
  from .conftest import asynccontextmanager
  from .test_pubsub import wait_for_message
label_desc: Use image node_id 12 for calling the TestConnectionPoolURLParsing obj's underlying member method code with example usage: obj.test_extra_typed_querystring_options() without return types