From 89244f67be9b35eaa7630375e5c547348e776c9b Mon Sep 17 00:00:00 2001 From: Yurii Motov Date: Thu, 18 Dec 2025 14:33:04 +0100 Subject: [PATCH] Fix coverage for `docs_src.security.tutorial004` --- .../test_security/test_tutorial004.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/test_tutorial/test_security/test_tutorial004.py b/tests/test_tutorial/test_security/test_tutorial004.py index 868f21eb7..2ceb1ea23 100644 --- a/tests/test_tutorial/test_security/test_tutorial004.py +++ b/tests/test_tutorial/test_security/test_tutorial004.py @@ -1,5 +1,6 @@ import importlib from types import ModuleType +from unittest.mock import patch import pytest from fastapi.testclient import TestClient @@ -155,6 +156,26 @@ def test_token_nonexistent_user(mod: ModuleType): assert response.headers["WWW-Authenticate"] == "Bearer" +def test_token_inactive_user(mod: ModuleType): + client = TestClient(mod.app) + alice_user_data = { + "username": "alice", + "full_name": "Alice Wonderson", + "email": "alice@example.com", + "hashed_password": mod.get_password_hash("secretalice"), + "disabled": True, + } + with patch.dict(f"{mod.__name__}.fake_users_db", {"alice": alice_user_data}): + access_token = get_access_token( + username="alice", password="secretalice", client=client + ) + response = client.get( + "/users/me", headers={"Authorization": f"Bearer {access_token}"} + ) + assert response.status_code == 400, response.text + assert response.json() == {"detail": "Inactive user"} + + def test_read_items(mod: ModuleType): client = TestClient(mod.app) access_token = get_access_token(client=client)