Coverage for src/fastapi_cloud_cli/commands/logout.py: 100%
18 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-11-09 00:25 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-11-09 00:25 +0000
1from typing import Any 1abcdefg
3from pydantic import BaseModel 1abcdefg
4from rich_toolkit import RichToolkit 1abcdefg
6from fastapi_cloud_cli._app import cloud_app 1abcdefg
7from fastapi_cloud_cli.utils.auth import delete_auth_config 1abcdefg
8from fastapi_cloud_cli.utils.cli import get_rich_toolkit 1abcdefg
9from fastapi_cloud_cli.utils.execution import JsonOutputOption 1abcdefg
12class LogoutOutput(BaseModel): 1abcdefg
13 logged_out: bool 1abcdefg
16def _render_logout_output(data: LogoutOutput, toolkit: RichToolkit) -> None: 1abhcdiefgj
17 toolkit.print_title("FastAPI Cloud") 1klhmnoipqrstju
18 toolkit.print_line() 1klhmnoipqrstju
19 toolkit.print("You are now logged out!", emoji="👋") 1klhmnoipqrstju
22@cloud_app.command() 1abcdefg
23def logout(json_output: JsonOutputOption = False) -> Any: 1abJcdKefgL
24 """
25 Logout from FastAPI Cloud.
26 """
27 with get_rich_toolkit(json_output=json_output) as toolkit: 1vwklxyhmzAnoBCipDEqrFGstHIju
28 delete_auth_config() 1vwklxyhmzAnoBCipDEqrFGstHIju
29 toolkit.success( 1vwklxyhmzAnoBCipDEqrFGstHIju
30 LogoutOutput(logged_out=True),
31 render_output=_render_logout_output,
32 )