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