Coverage for tests/test_tutorial/test_websockets/test_tutorial001.py: 100%

20 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-12-04 08:29 +0000

1import pytest 1hijklmn

2from fastapi.testclient import TestClient 1hijklmn

3from fastapi.websockets import WebSocketDisconnect 1hijklmn

4 

5from docs_src.websockets.tutorial001 import app 1hijklmn

6 

7client = TestClient(app) 1hijklmn

8 

9 

10def test_main(): 1hijklmn

11 response = client.get("/") 1opqrstu

12 assert response.status_code == 200, response.text 1opqrstu

13 assert b"<!DOCTYPE html>" in response.content 1opqrstu

14 

15 

16def test_websocket(): 1hijklmn

17 with pytest.raises(WebSocketDisconnect): 1abcdefg

18 with client.websocket_connect("/ws") as websocket: 1abcdefg

19 message = "Message one" 1abcdefg

20 websocket.send_text(message) 1abcdefg

21 data = websocket.receive_text() 1abcdefg

22 assert data == f"Message text was: {message}" 1abcdefg

23 message = "Message two" 1abcdefg

24 websocket.send_text(message) 1abcdefg

25 data = websocket.receive_text() 1abcdefg

26 assert data == f"Message text was: {message}" 1abcdefg