Coverage report:
97.27%
hide covered
Files
Functions
Classes
coverage.py v7.15.2
, created at 2026-09-03 15:30 +0000
File
function
statements
missing
excluded
coverage
api
/
__init__.py
(no function)
14
0
0
100.00%
api
/
account
/
__init__.py
(no function)
0
0
0
100.00%
api
/
account
/
controller.py
_to_user_profile
1
0
0
100.00%
api
/
account
/
controller.py
get_user_profile_api
11
0
0
100.00%
api
/
account
/
controller.py
update_user_profile_api
17
0
0
100.00%
api
/
account
/
controller.py
change_user_password_api
10
0
0
100.00%
api
/
account
/
controller.py
(no function)
18
0
0
100.00%
api
/
account
/
schema.py
PasswordChange.migrate_legacy_logout_field
4
0
0
100.00%
api
/
account
/
schema.py
(no function)
24
0
0
100.00%
api
/
account
/
services.py
get_user_by_id
2
0
0
100.00%
api
/
account
/
services.py
update_user_profile
41
0
0
100.00%
api
/
account
/
services.py
change_password
16
0
0
100.00%
api
/
account
/
services.py
(no function)
17
0
0
100.00%
api
/
auth
/
__init__.py
(no function)
0
0
0
100.00%
api
/
auth
/
controller.py
register_api
22
0
0
100.00%
api
/
auth
/
controller.py
login_api
23
0
0
100.00%
api
/
auth
/
controller.py
logout_api
18
0
0
100.00%
api
/
auth
/
controller.py
token_api
15
0
0
100.00%
api
/
auth
/
controller.py
csrf_token_api
12
2
0
83.33%
api
/
auth
/
controller.py
reset_password_api
19
0
0
100.00%
api
/
auth
/
controller.py
validate_reset_token_api
7
1
0
85.71%
api
/
auth
/
controller.py
forgot_password_api
13
2
0
84.62%
api
/
auth
/
controller.py
get_password_reset_cooldown_api
6
0
0
100.00%
api
/
auth
/
controller.py
verify_email_api
21
1
0
95.24%
api
/
auth
/
controller.py
resend_verification_api
13
0
0
100.00%
api
/
auth
/
controller.py
get_email_verification_cooldown_api
9
1
0
88.89%
api
/
auth
/
controller.py
_set_session_cookie
1
0
0
100.00%
api
/
auth
/
controller.py
_set_csrf_cookie
1
0
0
100.00%
api
/
auth
/
controller.py
_clear_auth_cookies
2
0
0
100.00%
api
/
auth
/
controller.py
(no function)
43
0
0
100.00%
api
/
auth
/
schema.py
(no function)
48
0
0
100.00%
api
/
auth
/
services.py
register
16
0
0
100.00%
api
/
auth
/
services.py
login
34
0
0
100.00%
api
/
auth
/
services.py
logout
11
0
0
100.00%
api
/
auth
/
services.py
logout_all_devices
4
0
0
100.00%
api
/
auth
/
services.py
get_or_create_csrf_token
7
0
0
100.00%
api
/
auth
/
services.py
verify_csrf_token
18
0
0
100.00%
api
/
auth
/
services.py
token
20
0
0
100.00%
api
/
auth
/
services.py
reset_password
22
0
0
100.00%
api
/
auth
/
services.py
validate_password_reset_token
16
0
0
100.00%
api
/
auth
/
services.py
forgot_password
21
0
0
100.00%
api
/
auth
/
services.py
get_password_reset_cooldown
5
0
0
100.00%
api
/
auth
/
services.py
_update_session_expiry
8
0
0
100.00%
api
/
auth
/
services.py
_create_user
14
0
0
100.00%
api
/
auth
/
services.py
_get_user_by_id
2
0
0
100.00%
api
/
auth
/
services.py
_create_user_session
16
0
0
100.00%
api
/
auth
/
services.py
_log_login_attempt
3
0
0
100.00%
api
/
auth
/
services.py
_get_user_by_email_for_password_reset
7
0
0
100.00%
api
/
auth
/
services.py
_request_password_reset_email
8
0
0
100.00%
api
/
auth
/
services.py
verify_email
34
3
0
91.18%
api
/
auth
/
services.py
resend_verification_email
29
2
0
93.10%
api
/
auth
/
services.py
_csrf_redis_key
1
0
0
100.00%
api
/
auth
/
services.py
_create_csrf_token_for_session
4
0
0
100.00%
api
/
auth
/
services.py
_send_registration_verification_email
8
0
0
100.00%
api
/
auth
/
services.py
_request_registration_verification_email
8
0
0
100.00%
api
/
auth
/
services.py
_request_email_change_verification_email
8
0
0
100.00%
api
/
auth
/
services.py
(no function)
43
0
0
100.00%
api
/
roles
/
__init__.py
(no function)
0
0
0
100.00%
api
/
roles
/
controller.py
get_roles
5
0
0
100.00%
api
/
roles
/
controller.py
create_role_api
9
0
0
100.00%
api
/
roles
/
controller.py
update_role_api
11
0
0
100.00%
api
/
roles
/
controller.py
delete_role_api
11
0
0
100.00%
api
/
roles
/
controller.py
get_role_attribute_mapping_api
9
0
0
100.00%
api
/
roles
/
controller.py
update_role_attribute_mapping_api
15
0
0
100.00%
api
/
roles
/
controller.py
get_user_permissions_api
8
1
0
87.50%
api
/
roles
/
controller.py
(no function)
31
0
0
100.00%
api
/
roles
/
schema.py
RoleAttributesMapping.get_example_response
1
0
0
100.00%
api
/
roles
/
schema.py
RoleAttributesGroupedResponse.get_example_response
1
0
0
100.00%
api
/
roles
/
schema.py
PermissionCheckResponse.get_example_response
1
0
0
100.00%
api
/
roles
/
schema.py
(no function)
51
0
0
100.00%
api
/
roles
/
services.py
_ensure_role_is_mutable
2
0
0
100.00%
api
/
roles
/
services.py
_to_role_response
1
0
0
100.00%
api
/
roles
/
services.py
_assert_can_manage_role_level
6
1
0
83.33%
api
/
roles
/
services.py
_assert_not_own_role
2
0
0
100.00%
api
/
roles
/
services.py
get_all_roles
10
0
0
100.00%
api
/
roles
/
services.py
create_role
16
0
0
100.00%
api
/
roles
/
services.py
update_role
25
0
0
100.00%
api
/
roles
/
services.py
delete_role
19
0
0
100.00%
api
/
roles
/
services.py
get_role_attribute_mapping
22
0
0
100.00%
api
/
roles
/
services.py
update_role_attribute_mapping
46
5
0
89.13%
api
/
roles
/
services.py
check_user_permissions
22
5
0
77.27%
api
/
roles
/
services.py
(no function)
21
0
0
100.00%
api
/
users
/
__init__.py
(no function)
0
0
0
100.00%
api
/
users
/
controller.py
get_users
5
0
0
100.00%
api
/
users
/
controller.py
create_user_api
9
1
0
88.89%
api
/
users
/
controller.py
update_user_api
11
4
0
63.64%
api
/
users
/
controller.py
delete_users_api
11
0
0
100.00%
api
/
users
/
controller.py
reset_user_password_api
7
0
0
100.00%
api
/
users
/
controller.py
(no function)
28
0
0
100.00%
api
/
users
/
schema.py
(no function)
59
0
0
100.00%
api
/
users
/
services.py
_super_admin_user_ids_subquery
1
0
0
100.00%
api
/
users
/
services.py
get_all_users
68
2
0
97.06%
api
/
users
/
services.py
create_user
22
2
0
90.91%
api
/
users
/
services.py
update_user
38
2
0
94.74%
api
/
users
/
services.py
delete_users
45
2
0
95.56%
api
/
users
/
services.py
reset_user_password
14
0
0
100.00%
api
/
users
/
services.py
_get_user_roles_map
9
0
0
100.00%
api
/
users
/
services.py
_get_user_role_name
2
0
0
100.00%
api
/
users
/
services.py
_get_role_level_by_name
3
0
0
100.00%
api
/
users
/
services.py
_assert_can_manage_target_user
8
2
0
75.00%
api
/
users
/
services.py
_assert_can_manage_user_role
22
1
0
95.45%
api
/
users
/
services.py
_assign_user_role
15
2
0
86.67%
api
/
users
/
services.py
_update_user_role
7
0
0
100.00%
api
/
users
/
services.py
_delete_user_related_records
8
0
0
100.00%
api
/
users
/
services.py
(no function)
32
0
0
100.00%
core
/
config.py
otel_excluded_urls
6
0
0
100.00%
core
/
config.py
Settings.rate_limit_whitelist_ips
4
0
0
100.00%
core
/
config.py
setup_logging
12
1
0
91.67%
core
/
config.py
(no function)
69
0
0
100.00%
core
/
database.py
make_async_url
5
0
0
100.00%
core
/
database.py
init_db
7
7
0
0.00%
core
/
database.py
(no function)
13
0
0
100.00%
core
/
dependencies.py
get_db
10
0
0
100.00%
core
/
dependencies.py
get_sync_db
8
0
0
100.00%
core
/
dependencies.py
(no function)
7
0
0
100.00%
core
/
init_db.py
is_already_initialized
12
0
0
100.00%
core
/
init_db.py
init_database
22
0
0
100.00%
core
/
init_db.py
create_role_attributes
24
0
0
100.00%
core
/
init_db.py
create_default_roles
16
0
0
100.00%
core
/
init_db.py
create_default_admin
34
0
0
100.00%
core
/
init_db.py
(no function)
16
0
0
100.00%
core
/
permissions.py
Permission.__init__
3
0
0
100.00%
core
/
permissions.py
Permission.__str__
1
1
0
0.00%
core
/
permissions.py
get_attributes
1
0
0
100.00%
core
/
permissions.py
(no function)
9
0
0
100.00%
core
/
rbac.py
is_super_admin_role_name
1
0
0
100.00%
core
/
rbac.py
get_user_role_level
6
0
0
100.00%
core
/
rbac.py
get_user_role_id
5
2
0
60.00%
core
/
rbac.py
user_has_role
5
2
0
60.00%
core
/
rbac.py
get_user_attributes
16
0
0
100.00%
core
/
rbac.py
check_user_has_super_role
6
0
0
100.00%
core
/
rbac.py
require_permission
3
0
0
100.00%
core
/
rbac.py
require_permission.decorator
2
0
0
100.00%
core
/
rbac.py
require_permission.decorator.wrapper
15
0
0
100.00%
core
/
rbac.py
require_permission.decorator.wrapper.get_attr_value
3
0
0
100.00%
core
/
rbac.py
(no function)
19
0
0
100.00%
core
/
redis.py
init_redis
2
0
0
100.00%
core
/
redis.py
get_redis
1
0
0
100.00%
core
/
redis.py
(no function)
5
0
0
100.00%
core
/
security.py
hash_password
1
0
0
100.00%
core
/
security.py
verify_password
1
0
0
100.00%
core
/
security.py
create_access_token
6
0
0
100.00%
core
/
security.py
create_password_reset_token
8
0
0
100.00%
core
/
security.py
create_csrf_token
7
0
0
100.00%
core
/
security.py
create_email_verification_token
8
0
0
100.00%
core
/
security.py
get_token
3
0
0
100.00%
core
/
security.py
verify_session
20
0
0
100.00%
core
/
security.py
verify_token
17
0
0
100.00%
core
/
security.py
verify_password_reset_token
19
0
0
100.00%
core
/
security.py
verify_email_verification_token
20
0
0
100.00%
core
/
security.py
extend_session_ttl
6
0
0
100.00%
core
/
security.py
clear_user_all_sessions
18
0
0
100.00%
core
/
security.py
(no function)
31
0
0
100.00%
core
/
telemetry.py
_span_http_method
3
0
0
100.00%
core
/
telemetry.py
should_drop_span
5
0
0
100.00%
core
/
telemetry.py
SkipSpanProcessor.__init__
1
0
0
100.00%
core
/
telemetry.py
SkipSpanProcessor.on_start
1
0
0
100.00%
core
/
telemetry.py
SkipSpanProcessor.on_end
3
0
0
100.00%
core
/
telemetry.py
SkipSpanProcessor.shutdown
1
0
0
100.00%
core
/
telemetry.py
SkipSpanProcessor.force_flush
1
0
0
100.00%
core
/
telemetry.py
TraceIdFormatter.format
3
0
0
100.00%
core
/
telemetry.py
_traces_endpoint
4
0
0
100.00%
core
/
telemetry.py
_build_resource
1
0
0
100.00%
core
/
telemetry.py
setup_telemetry
12
9
0
25.00%
core
/
telemetry.py
shutdown_telemetry
6
0
0
100.00%
core
/
telemetry.py
(no function)
30
0
0
100.00%
extensions
/
__init__.py
register_extensions
2
0
0
100.00%
extensions
/
__init__.py
(no function)
3
0
0
100.00%
extensions
/
exception_handler.py
add_exception_handlers
5
0
0
100.00%
extensions
/
exception_handler.py
add_exception_handlers.http_exception_handler
7
0
0
100.00%
extensions
/
exception_handler.py
add_exception_handlers.validation_exception_handler
6
0
0
100.00%
extensions
/
exception_handler.py
add_exception_handlers.internal_server_error_handler
3
3
0
0.00%
extensions
/
exception_handler.py
(no function)
8
0
0
100.00%
extensions
/
smtp.py
SMTPMailer.__init__
1
0
0
100.00%
extensions
/
smtp.py
SMTPMailer.enabled
1
0
0
100.00%
extensions
/
smtp.py
SMTPMailer._validate
18
0
0
100.00%
extensions
/
smtp.py
SMTPMailer._open
21
2
0
90.48%
extensions
/
smtp.py
SMTPMailer.send_text
19
0
0
100.00%
extensions
/
smtp.py
build_smtp_settings
1
0
0
100.00%
extensions
/
smtp.py
get_mailer
7
0
0
100.00%
extensions
/
smtp.py
add_smtp
2
0
0
100.00%
extensions
/
smtp.py
(no function)
25
0
0
100.00%
utils
/
__init__.py
(no function)
3
0
0
100.00%
utils
/
custom_exception.py
BaseServiceException.__init__
13
2
0
84.62%
utils
/
custom_exception.py
ServerException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
AuthenticationException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
PasswordResetRequiredException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
EmailVerificationRequiredException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
AuthorizationException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
ValidationException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
NotFoundException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
ConflictException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
TokenException.__init__
1
1
0
0.00%
utils
/
custom_exception.py
SMTPNotConfiguredException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
RegistrationDisabledException.__init__
1
0
0
100.00%
utils
/
custom_exception.py
(no function)
27
0
0
100.00%
utils
/
email_templates.py
EmailTemplate.__init__
3
0
0
100.00%
utils
/
email_templates.py
EmailTemplate.render
4
0
0
100.00%
utils
/
email_templates.py
(no function)
6
0
0
100.00%
utils
/
get_real_ip.py
get_real_ip
4
0
0
100.00%
utils
/
get_real_ip.py
(no function)
2
0
0
100.00%
utils
/
log_sanitize.py
_normalize_key
1
0
0
100.00%
utils
/
log_sanitize.py
is_sensitive_key
2
0
0
100.00%
utils
/
log_sanitize.py
should_omit_body
2
0
0
100.00%
utils
/
log_sanitize.py
quote_log_field
2
0
0
100.00%
utils
/
log_sanitize.py
format_log_value
2
0
0
100.00%
utils
/
log_sanitize.py
_redact_string
4
0
0
100.00%
utils
/
log_sanitize.py
redact
7
0
0
100.00%
utils
/
log_sanitize.py
_redact_loose_text
1
0
0
100.00%
utils
/
log_sanitize.py
_decode
2
0
0
100.00%
utils
/
log_sanitize.py
_loads_json_prefix
33
0
0
100.00%
utils
/
log_sanitize.py
_with_ellipsis
10
0
0
100.00%
utils
/
log_sanitize.py
sanitize_body
28
0
0
100.00%
utils
/
log_sanitize.py
sanitize_query
4
0
0
100.00%
utils
/
log_sanitize.py
(no function)
24
0
0
100.00%
utils
/
response.py
is_openapi_examples
5
0
0
100.00%
utils
/
response.py
make_response_doc
7
0
0
100.00%
utils
/
response.py
make_error_examples
1
0
0
100.00%
utils
/
response.py
parse_responses
32
0
0
100.00%
utils
/
response.py
generate_example_from_schema
7
0
0
100.00%
utils
/
response.py
generate_property_example
49
0
0
100.00%
utils
/
response.py
resolve_ref
11
0
0
100.00%
utils
/
response.py
(no function)
16
0
0
100.00%
Total
2640
72
0
97.27%
No items found using the specified filter.