MCPcopy
hub / github.com/encode/starlette / test_websocket_scope_interface

Function test_websocket_scope_interface

tests/test_websockets.py:510–534  ·  view source on GitHub ↗

A WebSocket can be instantiated with a scope, and presents a `Mapping` interface.

()

Source from the content-addressed store, hash-verified

508
509
510def test_websocket_scope_interface() -> None:
511 """
512 A WebSocket can be instantiated with a scope, and presents a `Mapping`
513 interface.
514 """
515
516 async def mock_receive() -> Message: # type: ignore
517 ... # pragma: no cover
518
519 async def mock_send(message: Message) -> None: ... # pragma: no cover
520
521 websocket = WebSocket({"type": "websocket", "path": "/abc/", "headers": []}, receive=mock_receive, send=mock_send)
522 assert websocket["type"] == "websocket"
523 assert dict(websocket) == {"type": "websocket", "path": "/abc/", "headers": []}
524 assert len(websocket) == 3
525
526 # check __eq__ and __hash__
527 assert websocket != WebSocket(
528 {"type": "websocket", "path": "/abc/", "headers": []},
529 receive=mock_receive,
530 send=mock_send,
531 )
532 assert websocket == websocket
533 assert websocket in {websocket}
534 assert {websocket} == {websocket}
535
536
537def test_websocket_close_reason(test_client_factory: TestClientFactory) -> None:

Callers

nothing calls this directly

Calls 1

WebSocketClass · 0.90

Tested by

no test coverage detected