"""Urllib3 specific socket mocking."""

from __future__ import annotations

from typing import Any

from mocket.socket import MocketSocket
from mocket.ssl.context import MocketSSLContext
from mocket.ssl.socket import MocketSSLSocket


def mock_match_hostname(*args: Any) -> None:
    """Mock urllib3's match_hostname function.

    Args:
        *args: Ignored arguments

    Returns:
        None
    """
    return None


def mock_ssl_wrap_socket(
    sock: MocketSocket,
    *args: Any,
    **kwargs: Any,
) -> MocketSSLSocket:
    """Mock urllib3's ssl_wrap_socket function.

    Args:
        sock: The socket to wrap
        *args: Additional arguments
        **kwargs: Additional keyword arguments

    Returns:
        MocketSSLSocket instance
    """
    context = MocketSSLContext()
    return context.wrap_socket(sock, *args, **kwargs)
