Coverage for 2a9ff6307c11d758030ff8267f7f95188928a86a: 100%

Files Functions Classes

coverage.py v7.16.2, created at 2026-11-11 09:18 +0000

File function   statements missing excluded   coverage
src/fastapi_cli/__init__.py (no function)   1 0 0   100%
src/fastapi_cli/__main__.py (no function)   2 0 0   100%
src/fastapi_cli/cli.py version_callback   6 0 2   100%
src/fastapi_cli/cli.py callback   2 0 0   100%
src/fastapi_cli/cli.py _get_module_tree   12 0 0   100%
src/fastapi_cli/cli.py _run   77 0 0   100%
src/fastapi_cli/cli.py dev   2 0 0   100%
src/fastapi_cli/cli.py run   1 0 0   100%
src/fastapi_cli/cli.py main   1 0 0   100%
src/fastapi_cli/cli.py (no function)   35 0 7   100%
src/fastapi_cli/config.py FastAPIConfig._read_pyproject_toml   11 0 3   100%
src/fastapi_cli/config.py FastAPIConfig.resolve   5 0 0   100%
src/fastapi_cli/config.py (no function)   12 0 0   100%
src/fastapi_cli/discover.py get_default_path   6 0 0   100%
src/fastapi_cli/discover.py get_module_data_from_path   14 0 0   100%
src/fastapi_cli/discover.py get_app_name   27 0 0   100%
src/fastapi_cli/discover.py get_import_data   13 0 0   100%
src/fastapi_cli/discover.py get_import_data_from_import_string   6 0 0   100%
src/fastapi_cli/discover.py (no function)   29 0 2   100%
src/fastapi_cli/exceptions.py (no function)   2 0 0   100%
src/fastapi_cli/logging.py setup_logging   7 0 0   100%
src/fastapi_cli/logging.py (no function)   4 0 0   100%
src/fastapi_cli/utils/__init__.py (no function)   0 0 0   100%
src/fastapi_cli/utils/cli.py should_use_rich_logs   1 0 0   100%
src/fastapi_cli/utils/cli.py IndentedBlock.__init__   5 0 0   100%
src/fastapi_cli/utils/cli.py IndentedBlock.__rich_console__   8 0 0   100%
src/fastapi_cli/utils/cli.py FastAPIStyle.render_element   6 0 0   100%
src/fastapi_cli/utils/cli.py FastAPIStyle._get_bullet_prefix   5 0 0   100%
src/fastapi_cli/utils/cli.py _get_log_bullet   2 0 0   100%
src/fastapi_cli/utils/cli.py CustomFormatter.__init__   2 0 0   100%
src/fastapi_cli/utils/cli.py CustomFormatter.formatMessage   5 0 0   100%
src/fastapi_cli/utils/cli.py get_uvicorn_log_config   1 0 0   100%
src/fastapi_cli/utils/cli.py get_rich_toolkit   1 0 0   100%
src/fastapi_cli/utils/cli.py (no function)   28 0 0   100%
tests/__init__.py (no function)   0 0 0   100%
tests/conftest.py reset_syspath   4 0 0   100%
tests/conftest.py setup_terminal   4 0 0   100%
tests/conftest.py (no function)   9 0 0   100%
tests/test_cli.py isolate_cli_environment   2 0 0   100%
tests/test_cli.py test_dev   15 0 0   100%
tests/test_cli.py _get_fastapi_env_response   12 0 0   100%
tests/test_cli.py test_dev_sets_fastapi_env_before_app_import   3 0 0   100%
tests/test_cli.py test_dev_does_not_override_existing_fastapi_env   3 0 0   100%
tests/test_cli.py test_run_does_not_set_fastapi_env   3 0 0   100%
tests/test_cli.py test_run_uses_uvicorn_default_log_config_without_rich_logs   8 0 0   100%
tests/test_cli.py test_dev_no_args_auto_discovery   17 0 0   100%
tests/test_cli.py test_dev_package   14 0 0   100%
tests/test_cli.py test_dev_args   13 0 0   100%
tests/test_cli.py test_dev_env_vars   11 0 0   100%
tests/test_cli.py test_dev_env_vars_and_args   11 0 0   100%
tests/test_cli.py test_dev_verbose   17 0 0   100%
tests/test_cli.py test_dev_verbose_auto_discovery   11 0 0   100%
tests/test_cli.py test_global_verbose_enables_debug_logging   10 0 0   100%
tests/test_cli.py test_entrypoint_mutually_exclusive_with_path   3 0 0   100%
tests/test_cli.py test_entrypoint_mutually_exclusive_with_app   3 0 0   100%
tests/test_cli.py test_run   11 0 0   100%
tests/test_cli.py test_run_trust_proxy   11 0 0   100%
tests/test_cli.py test_run_args   11 0 0   100%
tests/test_cli.py test_run_env_vars   11 0 0   100%
tests/test_cli.py test_run_env_vars_and_args   11 0 0   100%
tests/test_cli.py test_public_url_env_var   12 0 0   100%
tests/test_cli.py test_run_error   4 0 0   100%
tests/test_cli.py test_dev_help   13 0 0   100%
tests/test_cli.py test_run_help   12 0 0   100%
tests/test_cli.py test_callback_help   4 0 0   100%
tests/test_cli.py test_version   4 0 0   100%
tests/test_cli.py test_dev_reload_dir   10 0 0   100%
tests/test_cli.py test_dev_with_import_string   10 0 0   100%
tests/test_cli.py test_run_with_import_string   10 0 0   100%
tests/test_cli.py test_script   2 0 0   100%
tests/test_cli.py (no function)   51 0 0   100%
tests/test_cli_pyproject.py test_dev_with_pyproject_app_config_uses   10 0 0   100%
tests/test_cli_pyproject.py test_run_with_pyproject_app_config   10 0 0   100%
tests/test_cli_pyproject.py test_cli_arg_overrides_pyproject_config   6 0 0   100%
tests/test_cli_pyproject.py test_pyproject_app_config_invalid_format   11 0 0   100%
tests/test_cli_pyproject.py test_pyproject_validation_error   12 0 0   100%
tests/test_cli_pyproject.py (no function)   13 0 0   100%
tests/test_discover.py test_get_import_data_from_import_string_valid   9 0 0   100%
tests/test_discover.py test_get_import_data_from_import_string_pyproject_valid   9 0 0   100%
tests/test_discover.py test_get_import_data_from_import_string_missing_colon   3 0 0   100%
tests/test_discover.py test_get_import_data_from_import_string_missing_app   3 0 0   100%
tests/test_discover.py test_get_import_data_from_import_string_missing_module   3 0 0   100%
tests/test_discover.py test_get_import_data_from_import_string_empty   3 0 0   100%
tests/test_discover.py (no function)   11 0 0   100%
tests/test_prepare_release.py test_bump_version   1 0 0   100%
tests/test_prepare_release.py test_update_version_file   3 0 0   100%
tests/test_prepare_release.py test_update_version_file_requires_newer_version   3 0 0   100%
tests/test_prepare_release.py test_update_release_notes   3 0 0   100%
tests/test_prepare_release.py test_update_release_notes_rejects_existing_version   3 0 0   100%
tests/test_prepare_release.py test_get_release_notes_body_with_dated_heading   3 0 0   100%
tests/test_prepare_release.py test_get_release_notes_body_with_plain_heading   3 0 0   100%
tests/test_prepare_release.py test_get_release_notes_body_allows_non_version_h2_content   3 0 0   100%
tests/test_prepare_release.py test_get_release_notes_body_requires_version_section   3 0 0   100%
tests/test_prepare_release.py test_get_release_notes_body_requires_non_empty_section   3 0 0   100%
tests/test_prepare_release.py test_cli_updates_configured_files   10 0 0   100%
tests/test_prepare_release.py test_cli_accepts_env_vars   14 0 0   100%
tests/test_prepare_release.py test_cli_prints_current_version   6 0 0   100%
tests/test_prepare_release.py test_cli_prints_release_notes   8 0 0   100%
tests/test_prepare_release.py (no function)   21 0 0   100%
tests/test_requirements.py test_no_uvicorn   9 0 0   100%
tests/test_requirements.py test_no_fastapi   8 0 0   100%
tests/test_requirements.py (no function)   10 0 0   100%
tests/test_utils_cli.py test_get_uvicorn_config_uses_custom_formatter   4 0 0   100%
tests/test_utils_cli.py test_should_use_rich_logs_is_false_without_tty   2 0 0   100%
tests/test_utils_cli.py test_custom_formatter   7 0 0   100%
tests/test_utils_cli.py test_custom_formatter_shutdown_prepends_newline   5 0 0   100%
tests/test_utils_cli.py test_log_config_does_not_disable_existing_loggers   10 0 0   100%
tests/test_utils_cli.py (no function)   11 0 0   100%
tests/test_utils_default_dir.py test_app_dir_main   6 0 0   100%
tests/test_utils_default_dir.py test_app_dir_app   6 0 0   100%
tests/test_utils_default_dir.py test_app_dir_api   6 0 0   100%
tests/test_utils_default_dir.py test_app_dir_non_default   4 0 0   100%
tests/test_utils_default_dir.py (no function)   10 0 0   100%
tests/test_utils_default_file.py test_single_file_main   11 0 0   100%
tests/test_utils_default_file.py test_single_file_app   11 0 0   100%
tests/test_utils_default_file.py test_single_file_api   11 0 0   100%
tests/test_utils_default_file.py test_non_default_file   4 0 0   100%
tests/test_utils_default_file.py (no function)   13 0 0   100%
tests/test_utils_package.py test_package_app_root   5 0 0   100%
tests/test_utils_package.py test_package_api_root   5 0 0   100%
tests/test_utils_package.py test_package_other_root   5 0 0   100%
tests/test_utils_package.py test_package_app_mod   5 0 0   100%
tests/test_utils_package.py test_package_api_mod   5 0 0   100%
tests/test_utils_package.py test_package_other_mod   5 0 0   100%
tests/test_utils_package.py test_package_app_above   5 0 0   100%
tests/test_utils_package.py test_package_api_parent   5 0 0   100%
tests/test_utils_package.py test_package_other_parent   5 0 0   100%
tests/test_utils_package.py test_package_mod_init_inside   5 0 0   100%
tests/test_utils_package.py test_package_mod_dir   5 0 0   100%
tests/test_utils_package.py test_package_init_inside   5 0 0   100%
tests/test_utils_package.py test_package_dir_inside_package   5 0 0   100%
tests/test_utils_package.py test_package_dir_above_package   5 0 0   100%
tests/test_utils_package.py test_package_dir_explicit_app   5 0 0   100%
tests/test_utils_package.py test_broken_package_dir   6 0 0   100%
tests/test_utils_package.py test_package_dir_no_app   4 0 0   100%
tests/test_utils_package.py test_package_dir_object_not_an_app   4 0 0   100%
tests/test_utils_package.py test_package_dir_object_app_name_not_found   4 0 0   100%
tests/test_utils_package.py (no function)   26 0 0   100%
tests/test_utils_single_file.py test_single_file_app   5 0 0   100%
tests/test_utils_single_file.py test_single_file_api   5 0 0   100%
tests/test_utils_single_file.py test_single_file_other   5 0 0   100%
tests/test_utils_single_file.py test_single_file_explicit_object   5 0 0   100%
tests/test_utils_single_file.py test_single_non_existing_file   4 0 0   100%
tests/test_utils_single_file.py (no function)   12 0 0   100%
tests/utils.py changing_dir   5 0 0   100%
tests/utils.py (no function)   6 0 0   100%
Total     1203 0 14   100%

No items found using the specified filter.