content: import pytest
  from pydantic import AnyUrl
  from typing_extensions import AsyncGenerator
  
  from mcp.client.session import ClientSession
  from mcp.server import Server
  from mcp.shared.memory import create_connected_server_and_client_session
  from mcp.types import EmptyResult, Resource
  
  
  @pytest.fixture
  def mcp_server() -> Server:
      server = Server(name="test_server")
  
      @server.list_resources()
      async def handle_list_resources():  # pragma: no cover
          return [
              Resource(
                  uri=AnyUrl("memory://test"),
                  name="Test Resource",
                  description="A test resource",
              )
          ]
  
      return server
  
  
  @pytest.fixture
  async def client_connected_to_server(
      mcp_server: Server,
  ) -> AsyncGenerator[ClientSession, None]:
      async with create_connected_server_and_client_session(mcp_server) as client_session:
          yield client_session
  
  
  @pytest.mark.anyio
  async def test_memory_server_and_client_connection(
      client_connected_to_server: ClientSession,
  ):
      """Shows how a client and server can communicate over memory streams."""
      response = await client_connected_to_server.send_ping()
      assert isinstance(response, EmptyResult)
  