Coverage for tests/test_router_redirect_slashes.py: 100%
26 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-12-04 08:29 +0000
1from fastapi import APIRouter, FastAPI 1opqrstu
2from fastapi.testclient import TestClient 1opqrstu
5def test_redirect_slashes_enabled(): 1opqrstu
6 app = FastAPI() 1abcdefg
7 router = APIRouter() 1abcdefg
9 @router.get("/hello/") 1abcdefg
10 def hello_page() -> str: 1abcdefg
11 return "Hello, World!" 1abcdefg
13 app.include_router(router) 1abcdefg
15 client = TestClient(app) 1abcdefg
17 response = client.get("/hello/", follow_redirects=False) 1abcdefg
18 assert response.status_code == 200 1abcdefg
20 response = client.get("/hello", follow_redirects=False) 1abcdefg
21 assert response.status_code == 307 1abcdefg
24def test_redirect_slashes_disabled(): 1opqrstu
25 app = FastAPI(redirect_slashes=False) 1hijklmn
26 router = APIRouter() 1hijklmn
28 @router.get("/hello/") 1hijklmn
29 def hello_page() -> str: 1hijklmn
30 return "Hello, World!" 1hijklmn
32 app.include_router(router) 1hijklmn
34 client = TestClient(app) 1hijklmn
36 response = client.get("/hello/", follow_redirects=False) 1hijklmn
37 assert response.status_code == 200 1hijklmn
39 response = client.get("/hello", follow_redirects=False) 1hijklmn
40 assert response.status_code == 404 1hijklmn