| app / backend / src / app.py |
log_unhandled_exception |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / app.py |
common_init |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / app.py |
main |
|
0% |
22 |
22 |
0 |
|
0% |
10 |
0 |
|
0% |
| app / backend / src / app.py |
(no function) |
|
0% |
32 |
32 |
0 |
|
0% |
6 |
0 |
|
0% |
| app / backend / src / couchers / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / config.py |
check_config |
|
0% |
21 |
21 |
0 |
|
0% |
26 |
0 |
|
0% |
| app / backend / src / couchers / config.py |
make_config |
|
79% |
28 |
6 |
0 |
|
73% |
22 |
4 |
|
76% |
| app / backend / src / couchers / config.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / constants.py |
(no function) |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
NonInteractiveAbortException.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / context.py |
NonInteractiveAbortException.code |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / context.py |
NonInteractiveAbortException.details |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / context.py |
NonInteractiveAbortException.__str__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / context.py |
CouchersContext.__init__ |
|
88% |
16 |
2 |
0 |
|
75% |
8 |
2 |
|
83% |
| app / backend / src / couchers / context.py |
CouchersContext.__verify_interactive |
|
50% |
2 |
1 |
0 |
|
50% |
2 |
1 |
|
50% |
| app / backend / src / couchers / context.py |
CouchersContext.__verify_logged_in |
|
50% |
2 |
1 |
0 |
|
50% |
2 |
1 |
|
50% |
| app / backend / src / couchers / context.py |
CouchersContext.is_logged_in |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
CouchersContext.is_logged_out |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
CouchersContext.get_localized_string |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
CouchersContext.abort |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / context.py |
CouchersContext.abort_with_error_code |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / context.py |
CouchersContext.set_cookies |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
CouchersContext._send_cookies |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
CouchersContext.headers |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
CouchersContext.user_id |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
CouchersContext.is_api_key |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / context.py |
CouchersContext.token |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
CouchersContext.ui_language_preference |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
make_interactive_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
make_one_off_interactive_user_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
make_media_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
make_background_user_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
make_logged_out_context |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / context.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
b64encode |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
b64decode |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
b64encode_unpadded |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
b64decode_unpadded |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
_urlsafe_random_b64 |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
urlsafe_secure_token |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
cookiesafe_secure_token |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
hash_password |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
verify_password |
|
60% |
5 |
2 |
0 |
|
100% |
0 |
0 |
|
60% |
| app / backend / src / couchers / crypto.py |
random_hex |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
secure_compare |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
generate_hash_signature |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
simple_hash_signature |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / crypto.py |
verify_hash_signature |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
generate_random_5digit_string |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
verify_token |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
stable_secure_uniform |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
get_secret |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
aead_generate_nonce |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
aead_generate_key |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / crypto.py |
aead_encrypt |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| app / backend / src / couchers / crypto.py |
aead_decrypt |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
simple_encrypt |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
simple_decrypt |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
encrypt_proto |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
decrypt_proto |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
create_sofa_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
encode_sofa |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
decode_sofa |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
encrypt_page_token |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
decrypt_page_token |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
asym_encrypt |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
asym_decrypt |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
generate_asym_keypair |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
generate_invite_code |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / crypto.py |
(no function) |
|
100% |
60 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
apply_migrations |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
_get_base_engine |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
session_scope |
|
57% |
23 |
10 |
0 |
|
50% |
4 |
2 |
|
56% |
| app / backend / src / couchers / db.py |
worker_repeatable_read_session_scope |
|
57% |
23 |
10 |
0 |
|
50% |
4 |
2 |
|
56% |
| app / backend / src / couchers / db.py |
db_post_fork |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / db.py |
are_friends |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
get_parent_node_at_location |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
_get_node_parents_recursive_cte_subquery |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
get_node_parents_recursively |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
_can_moderate_any_cluster |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / db.py |
can_moderate_node |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
can_moderate_at |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
is_user_in_node_geography |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / db.py |
timezone_at_coordinate |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / db.py |
(no function) |
|
100% |
40 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / descriptor_pool.py |
get_descriptors_pb |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / descriptor_pool.py |
get_descriptor_pool |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / descriptor_pool.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / dev.py |
print_dev_email |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / dev.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / queuing.py |
_queue_email |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / queuing.py |
queue_email |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / queuing.py |
queue_userless_email |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / queuing.py |
queue_system_email |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / queuing.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / smtp.py |
make_cid |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / email / smtp.py |
send_smtp_email |
|
85% |
34 |
5 |
0 |
|
64% |
14 |
5 |
|
79% |
| app / backend / src / couchers / email / smtp.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / event_log.py |
log_event |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / event_log.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / experimentation.py |
setup_experimentation |
|
0% |
18 |
18 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / experimentation.py |
_shutdown_experimentation |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / experimentation.py |
_check_initialized |
|
50% |
2 |
1 |
0 |
|
50% |
2 |
1 |
|
50% |
| app / backend / src / couchers / experimentation.py |
_get_statsig_user |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / experimentation.py |
check_gate |
|
50% |
6 |
3 |
0 |
|
25% |
4 |
1 |
|
40% |
| app / backend / src / couchers / experimentation.py |
get_experiment |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / experimentation.py |
get_dynamic_config |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / experimentation.py |
log_event |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / experimentation.py |
(no function) |
|
100% |
16 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / badges.py |
user_add_badge |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / helpers / badges.py |
user_remove_badge |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / badges.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / clusters.py |
create_node |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / clusters.py |
create_cluster |
|
93% |
15 |
1 |
0 |
|
50% |
2 |
1 |
|
88% |
| app / backend / src / couchers / helpers / clusters.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / completed_profile.py |
has_completed_profile |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / helpers / completed_profile.py |
has_completed_profile_expression |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / completed_profile.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / geoip.py |
geoip_approximate_location |
|
13% |
15 |
13 |
0 |
|
25% |
4 |
1 |
|
16% |
| app / backend / src / couchers / helpers / geoip.py |
geoip_asn |
|
0% |
18 |
18 |
0 |
|
0% |
6 |
0 |
|
0% |
| app / backend / src / couchers / helpers / geoip.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / postal_verification.py |
generate_postal_verification_code |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / postal_verification.py |
has_postal_verification |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / postal_verification.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / helpers / strong_verification.py |
has_strong_verification |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / helpers / strong_verification.py |
get_strong_verification_fields |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / helpers / strong_verification.py |
(no function) |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / __init__.py |
(no function) |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / context.py |
LocalizationContext.localized_timezone |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / context.py |
LocalizationContext.localize_string |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / context.py |
LocalizationContext.localize_date |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / i18n / context.py |
LocalizationContext.localize_date_from_iso |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / context.py |
LocalizationContext.localize_datetime |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / context.py |
LocalizationContext.localize_time |
|
100% |
3 |
0 |
0 |
|
50% |
2 |
1 |
|
80% |
| app / backend / src / couchers / i18n / context.py |
LocalizationContext.en_utc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / context.py |
LocalizationContext.from_user |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / context.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / i18next.py |
I18Next.add_language |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / i18n / i18next.py |
I18Next.find_string |
|
100% |
7 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / i18n / i18next.py |
I18Next.localize |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| app / backend / src / couchers / i18n / i18next.py |
Language.load_json_dict |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / i18next.py |
Language.load_json_dict.add_strings |
|
86% |
7 |
1 |
0 |
|
83% |
6 |
1 |
|
85% |
| app / backend / src / couchers / i18n / i18next.py |
Language.add_string |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / i18next.py |
Language.find_string |
|
100% |
8 |
0 |
0 |
|
88% |
8 |
1 |
|
94% |
| app / backend / src / couchers / i18n / i18next.py |
Language.localize |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / i18n / i18next.py |
String.render |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / i18next.py |
StringTemplate.can_render |
|
100% |
5 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / i18n / i18next.py |
StringTemplate.render |
|
88% |
8 |
1 |
0 |
|
83% |
6 |
1 |
|
86% |
| app / backend / src / couchers / i18n / i18next.py |
StringTemplate.parse |
|
100% |
10 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / i18n / i18next.py |
LocalizationError.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / i18next.py |
(no function) |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / locales.py |
get_locale_fallbacks |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / i18n / locales.py |
load_locales |
|
94% |
16 |
1 |
0 |
|
88% |
8 |
1 |
|
92% |
| app / backend / src / couchers / i18n / locales.py |
(no function) |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / localize.py |
get_main_i18next |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / localize.py |
localize_string |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / localize.py |
localize_date |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / localize.py |
localize_date_from_iso |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / localize.py |
localize_time |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / localize.py |
localize_datetime |
|
100% |
8 |
0 |
0 |
|
50% |
4 |
2 |
|
83% |
| app / backend / src / couchers / i18n / localize.py |
localize_timezone |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / localize.py |
format_phone_number |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / localize.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.for_language |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.ca |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.cs |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.de |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.en |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.es |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.fr |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.he |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.hi |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.hu |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.it |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.ja |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.nl |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.pl |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.pt |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.ru |
|
0% |
6 |
6 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.sv |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.tr |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.uk |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
PluralRules.zh |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / i18n / plurals.py |
(no function) |
|
100% |
52 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
_binned_now |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
_try_get_and_update_user_details |
|
100% |
16 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
abort_handler |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
abort_handler.f |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
unauthenticated_handler |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
_sanitized_bytes |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
_sanitized_bytes |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
_sanitized_bytes |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
_sanitized_bytes._sanitize_message |
|
100% |
11 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
_store_log |
|
80% |
10 |
2 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / interceptors.py |
CouchersMiddlewareInterceptor.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
CouchersMiddlewareInterceptor.intercept_service |
|
92% |
25 |
2 |
0 |
|
67% |
6 |
2 |
|
87% |
| app / backend / src / couchers / interceptors.py |
CouchersMiddlewareInterceptor.intercept_service.function_without_couchers_stuff |
|
94% |
35 |
2 |
0 |
|
79% |
14 |
3 |
|
90% |
| app / backend / src / couchers / interceptors.py |
parse_headers |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
AbortError.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
find_auth_level |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
validate_auth_level |
|
75% |
4 |
1 |
0 |
|
75% |
4 |
1 |
|
75% |
| app / backend / src / couchers / interceptors.py |
check_permissions |
|
100% |
9 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
MediaInterceptor.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
MediaInterceptor.intercept_service |
|
75% |
12 |
3 |
0 |
|
50% |
6 |
3 |
|
67% |
| app / backend / src / couchers / interceptors.py |
MediaInterceptor.intercept_service.function_without_session |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
OTelInterceptor.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
OTelInterceptor.intercept_service |
|
0% |
11 |
11 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / interceptors.py |
OTelInterceptor.intercept_service.tracing_function |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / interceptors.py |
ErrorSanitizationInterceptor.intercept_service |
|
75% |
8 |
2 |
0 |
|
50% |
4 |
2 |
|
67% |
| app / backend / src / couchers / interceptors.py |
ErrorSanitizationInterceptor.intercept_service.sanitizing_function |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / interceptors.py |
(no function) |
|
100% |
60 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / definitions.py |
JobHandler.__call__ |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / definitions.py |
JobHandler.__name__ |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / definitions.py |
Job.name |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / definitions.py |
Job.payload_type |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / definitions.py |
(no function) |
|
100% |
22 |
0 |
4 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / enqueue.py |
queue_job |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| app / backend / src / couchers / jobs / enqueue.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
send_email |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
purge_login_tokens |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
purge_password_reset_tokens |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
purge_account_deletion_tokens |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
send_message_notifications |
|
100% |
13 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
send_message_notifications.format_title |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
send_request_notifications |
|
100% |
15 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
send_onboarding_emails |
|
100% |
14 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
send_reference_reminders |
|
100% |
20 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
send_host_request_reminders |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
add_users_to_email_list |
|
84% |
19 |
3 |
0 |
|
75% |
8 |
2 |
|
81% |
| app / backend / src / couchers / jobs / handlers.py |
enforce_community_membership |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
update_recommendation_scores |
|
100% |
60 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
update_recommendation_scores.poor_man_gaussian |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
update_recommendation_scores.int_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
update_recommendation_scores.float_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
update_badges |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
update_badges.update_badge |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
finalize_strong_verification |
|
96% |
46 |
2 |
0 |
|
83% |
12 |
2 |
|
93% |
| app / backend / src / couchers / jobs / handlers.py |
send_activeness_probes |
|
97% |
29 |
1 |
0 |
|
81% |
16 |
3 |
|
91% |
| app / backend / src / couchers / jobs / handlers.py |
update_randomized_locations |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
update_randomized_locations.gen_randomized_coords |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
send_event_reminders |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
check_expo_push_receipts |
|
93% |
28 |
2 |
0 |
|
79% |
14 |
3 |
|
88% |
| app / backend / src / couchers / jobs / handlers.py |
send_postal_verification_postcard |
|
85% |
13 |
2 |
0 |
|
75% |
4 |
1 |
|
82% |
| app / backend / src / couchers / jobs / handlers.py |
check_database_consistency |
|
62% |
48 |
18 |
0 |
|
47% |
32 |
11 |
|
56% |
| app / backend / src / couchers / jobs / handlers.py |
auto_approve_moderation_queue |
|
100% |
12 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / jobs / handlers.py |
(no function) |
|
100% |
63 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / worker.py |
process_job |
|
90% |
42 |
4 |
0 |
|
100% |
6 |
0 |
|
92% |
| app / backend / src / couchers / jobs / worker.py |
service_jobs |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / jobs / worker.py |
_run_job_and_schedule |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / jobs / worker.py |
run_scheduler |
|
100% |
5 |
0 |
0 |
|
75% |
4 |
1 |
|
89% |
| app / backend / src / couchers / jobs / worker.py |
_run_forever |
|
0% |
10 |
10 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / jobs / worker.py |
start_jobs_scheduler |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / jobs / worker.py |
start_jobs_worker |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / jobs / worker.py |
(no function) |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / materialized_views.py |
create_materialized_view_with_different_ddl |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / materialized_views.py |
create_materialized_view_with_different_ddl.create_indexes |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / materialized_views.py |
make_lite_users_selectable |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / materialized_views.py |
make_clustered_users_selectable |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / materialized_views.py |
float_ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / materialized_views.py |
refresh_materialized_views |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / materialized_views.py |
refresh_materialized_views_rapid |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / materialized_views.py |
(no function) |
|
100% |
49 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
observe_in_jobs_duration_histogram |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
observe_in_servicer_duration_histogram |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
_make_gauge_from_query |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
_make_gauge_from_query.f |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
observe_moderation_action |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
observe_moderation_visibility_transition |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
observe_moderation_queue_item_created |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
observe_moderation_queue_item_resolved |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
observe_moderation_queue_resolution_time |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
create_prometheus_server |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
create_prometheus_server.app |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / metrics.py |
(no function) |
|
100% |
80 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / migrations / env.py |
include_name |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / migrations / env.py |
include_object |
|
0% |
3 |
3 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / migrations / env.py |
run_migrations_offline |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / migrations / env.py |
run_migrations_online |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / migrations / env.py |
(no function) |
|
83% |
23 |
4 |
0 |
|
33% |
6 |
2 |
|
72% |
| app / backend / src / couchers / models / __init__.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / activeness_probe.py |
ActivenessProbe.is_pending |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / activeness_probe.py |
(no function) |
|
100% |
24 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / auth.py |
UserSession.is_valid |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / auth.py |
LoginToken.is_valid |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / auth.py |
LoginToken.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / auth.py |
PasswordResetToken.is_valid |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / auth.py |
PasswordResetToken.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / auth.py |
(no function) |
|
100% |
45 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / background_jobs.py |
BackgroundJob.ready_for_retry |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / background_jobs.py |
BackgroundJob.__repr__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / background_jobs.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / base.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / clusters.py |
Cluster.is_leaf |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / clusters.py |
Page.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / clusters.py |
PageVersion.coordinates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / clusters.py |
PageVersion.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / clusters.py |
(no function) |
|
100% |
114 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / conversations.py |
Conversation.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / conversations.py |
GroupChat.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / conversations.py |
GroupChatSubscription.muted_display |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / models / conversations.py |
GroupChatSubscription.is_muted |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / conversations.py |
GroupChatSubscription.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / conversations.py |
Message.is_normal_message |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / conversations.py |
Message.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / conversations.py |
(no function) |
|
100% |
76 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / discussions.py |
(no function) |
|
100% |
60 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / donations.py |
(no function) |
|
100% |
32 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / events.py |
EventOccurrence.coordinates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / events.py |
EventOccurrence.start_time |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / events.py |
EventOccurrence._start_time_expression |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / events.py |
EventOccurrence.end_time |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / events.py |
EventOccurrence._end_time_expression |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / events.py |
(no function) |
|
100% |
122 |
0 |
3 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / host_requests.py |
HostRequest.can_write_reference |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / host_requests.py |
HostRequest.can_write_reference_expr |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / host_requests.py |
HostRequest.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / host_requests.py |
(no function) |
|
100% |
69 |
0 |
4 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / logging.py |
(no function) |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / mod_note.py |
ModNote.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / mod_note.py |
ModNote.is_pending |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / mod_note.py |
(no function) |
|
100% |
20 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / moderation.py |
ModerationState.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / moderation.py |
ModerationQueueItem.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / moderation.py |
ModerationLog.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / moderation.py |
(no function) |
|
100% |
61 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / notifications.py |
NotificationTopicAction.__init__ |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / notifications.py |
NotificationTopicAction.unpack |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / notifications.py |
NotificationTopicAction.display |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / notifications.py |
NotificationTopicAction.__str__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / notifications.py |
Notification.topic |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / notifications.py |
Notification.action |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / notifications.py |
(no function) |
|
100% |
157 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / postal_verification.py |
PostalVerificationAttempt.is_valid |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / postal_verification.py |
PostalVerificationAttempt._is_valid_expression |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / postal_verification.py |
(no function) |
|
100% |
40 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / rest.py |
ContributorForm.is_filled |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / rest.py |
ContributorForm.should_notify |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / rest.py |
SignupFlow.token_is_valid |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / rest.py |
SignupFlow.account_is_filled |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / rest.py |
SignupFlow.is_completed |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / rest.py |
AccountDeletionToken.is_valid |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / rest.py |
AccountDeletionToken.__repr__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / models / rest.py |
Reference.should_report |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / rest.py |
(no function) |
|
100% |
243 |
0 |
3 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / static.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / uploads.py |
InitiatedUpload.is_valid |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / uploads.py |
Upload._url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / uploads.py |
Upload.thumbnail_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / uploads.py |
Upload.full_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / uploads.py |
get_avatar_photo_subquery |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / uploads.py |
get_avatar_upload |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / uploads.py |
has_avatar_photo_expression |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / uploads.py |
(no function) |
|
100% |
52 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.has_completed_my_home |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User._has_completed_my_home_expression |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.jailed_missing_tos |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.jailed_missing_community_guidelines |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.jailed_pending_mod_notes |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.jailed_pending_activeness_probe |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.is_jailed |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.is_missing_location |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.is_visible |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User._is_visible_expression |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.coordinates |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.display_joined |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.display_last_active |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.phone_is_verified |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User._phone_is_verified_expression |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.phone_code_expired |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
User.__repr__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / users.py |
(no function) |
|
100% |
209 |
0 |
4 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / verification.py |
StrongVerificationAttempt.is_valid |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / verification.py |
StrongVerificationAttempt._is_valid_expression |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / verification.py |
StrongVerificationAttempt.is_visible |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / verification.py |
StrongVerificationAttempt._raw_birthdate_match |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / verification.py |
StrongVerificationAttempt.matches_birthdate |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / verification.py |
StrongVerificationAttempt._raw_gender_match |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / verification.py |
StrongVerificationAttempt.matches_gender |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / verification.py |
StrongVerificationAttempt.has_strong_verification |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / models / verification.py |
(no function) |
|
100% |
65 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / moderation / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / moderation / utils.py |
create_moderation |
|
100% |
15 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / moderation / utils.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / background.py |
_send_email_notification |
|
88% |
33 |
4 |
0 |
|
79% |
14 |
3 |
|
85% |
| app / backend / src / couchers / notifications / background.py |
_send_push_notification |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / background.py |
handle_notification |
|
100% |
26 |
0 |
0 |
|
93% |
14 |
1 |
|
98% |
| app / backend / src / couchers / notifications / background.py |
handle_email_digests |
|
0% |
16 |
16 |
0 |
|
0% |
6 |
0 |
|
0% |
| app / backend / src / couchers / notifications / background.py |
(no function) |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / expo_api.py |
send_expo_push_notification |
|
0% |
17 |
17 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / notifications / expo_api.py |
get_expo_push_receipts |
|
53% |
15 |
7 |
0 |
|
75% |
4 |
1 |
|
58% |
| app / backend / src / couchers / notifications / expo_api.py |
(no function) |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / notify.py |
notify |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / notify.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / push.py |
push_to_subscription |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / push.py |
_push_to_user |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| app / backend / src / couchers / notifications / push.py |
push_to_user |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / push.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / quick_links.py |
_generate_quick_link |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / quick_links.py |
generate_do_not_email |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / quick_links.py |
generate_unsub_topic_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / quick_links.py |
generate_unsub_topic_action |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / quick_links.py |
generate_quick_decline_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / quick_links.py |
can_unsubscribe_topic_key |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| app / backend / src / couchers / notifications / quick_links.py |
respond_quick_link |
|
61% |
33 |
13 |
0 |
|
50% |
14 |
3 |
|
57% |
| app / backend / src / couchers / notifications / quick_links.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_email.py |
render_email_notification |
|
86% |
214 |
29 |
0 |
|
78% |
130 |
16 |
|
83% |
| app / backend / src / couchers / notifications / render_email.py |
get_list_unsubscribe_header |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_email.py |
UserTemplateArgs.from_protobuf_user |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_email.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
render_push_notification |
|
89% |
110 |
12 |
0 |
|
90% |
106 |
11 |
|
89% |
| app / backend / src / couchers / notifications / render_push.py |
render_adhoc_push_notification |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_get_content |
|
100% |
13 |
0 |
0 |
|
88% |
8 |
1 |
|
95% |
| app / backend / src / couchers / notifications / render_push.py |
_get_string |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_avatar_url_or_default |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_account_deletion__start |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_account_deletion__complete |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_account_deletion__recovered |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_activeness__probe |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_api_key__create |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_badge__add |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_badge__remove |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_birthdate__change |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_chat__message |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_chat__missed_messages |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_donation__received |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_discussion__create |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_discussion__comment |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_email_address__change |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_email_address__verify |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_event__create_any |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_event__create_approved |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_event__update |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_event__invite_organizer |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_event__comment |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_event__reminder |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_event__cancel |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_event__delete |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_friend_request__create |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_friend_request__accept |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_gender__change |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_general__new_blog_post |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_host_request__create |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_host_request__message |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_host_request__missed_messages |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_host_request__reminder |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_host_request__accept |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_host_request__reject |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_host_request__cancel |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_host_request__confirm |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_modnote__create |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_onboarding__reminder |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_password__change |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_password_reset__start |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_password_reset__complete |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_phone_number__change |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_phone_number__verify |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_postal_verification__postcard_sent |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_postal_verification__success |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_postal_verification__failed |
|
0% |
8 |
8 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_reference__receive_friend |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_reference__receive |
|
67% |
6 |
2 |
0 |
|
50% |
2 |
1 |
|
62% |
| app / backend / src / couchers / notifications / render_push.py |
_render_reference__receive_hosted |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / render_push.py |
_render_reference__receive_surfed |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_reference__reminder |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_reference__reminder_surfed |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_reference__reminder_hosted |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_thread__reply |
|
80% |
10 |
2 |
0 |
|
75% |
4 |
1 |
|
79% |
| app / backend / src / couchers / notifications / render_push.py |
_render_verification__sv_success |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
_render_verification__sv_fail |
|
70% |
10 |
3 |
0 |
|
67% |
6 |
2 |
|
69% |
| app / backend / src / couchers / notifications / render_push.py |
_get_notifs_i18next |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / render_push.py |
(no function) |
|
100% |
76 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / send_raw_push_notification.py |
PushNotificationError.__init__ |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / send_raw_push_notification.py |
_send_web_push |
|
0% |
9 |
9 |
0 |
|
0% |
6 |
0 |
|
0% |
| app / backend / src / couchers / notifications / send_raw_push_notification.py |
_send_expo |
|
0% |
20 |
20 |
0 |
|
0% |
12 |
0 |
|
0% |
| app / backend / src / couchers / notifications / send_raw_push_notification.py |
send_raw_push_notification_v2 |
|
0% |
32 |
32 |
0 |
|
0% |
8 |
0 |
|
0% |
| app / backend / src / couchers / notifications / send_raw_push_notification.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / settings.py |
get_preference |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / settings.py |
get_topic_actions_by_delivery_type |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / notifications / settings.py |
reset_preference |
|
0% |
4 |
4 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / notifications / settings.py |
set_preference |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / notifications / settings.py |
check_settings |
|
100% |
13 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| app / backend / src / couchers / notifications / settings.py |
get_user_setting_groups |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / notifications / settings.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / utils.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / web_push_api.py |
gen_vapid_keys |
|
0% |
5 |
5 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / web_push_api.py |
get_vapid_public_key_from_private_key |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / web_push_api.py |
generate_vapid_authorization |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / web_push_api.py |
send_web_push |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / web_push_api.py |
decode_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / notifications / web_push_api.py |
parse_subscription_info |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / notifications / web_push_api.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / phone / check.py |
is_e164_format |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / phone / check.py |
is_known_operator |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / phone / check.py |
(no function) |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / phone / sms.py |
generate_random_code |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / phone / sms.py |
looks_like_a_code |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / phone / sms.py |
format_message |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / phone / sms.py |
send_sms |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / phone / sms.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / postal / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / postal / address_validation.py |
validate_address |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / postal / address_validation.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / postal / postcard_service.py |
send_postcard |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / postal / postcard_service.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / check.py |
_get_user_events_in_past_time_interval |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / check.py |
_save_rate_limit_violation |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / check.py |
_user_has_violated_rate_limit_in_past_time_interval |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / check.py |
process_rate_limits_and_check_abort |
|
100% |
11 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / check.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / definitions.py |
_get_user_host_requests_in_past_time_interval |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / definitions.py |
_get_user_friend_requests_in_past_time_interval |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / definitions.py |
_get_user_initiated_chats_in_past_time_interval |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / rate_limits / definitions.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / reranker.py |
reranker |
|
87% |
15 |
2 |
0 |
|
83% |
12 |
2 |
|
85% |
| app / backend / src / couchers / reranker.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
get_terms_of_service |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
get_icon |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
get_region_dict |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
region_is_allowed |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
get_language_dict |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
get_badge_data |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
get_badge_dict |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
get_static_badge_dict |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
language_is_allowed |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / resources.py |
copy_resources_to_database |
|
81% |
21 |
4 |
0 |
|
62% |
8 |
1 |
|
76% |
| app / backend / src / couchers / resources.py |
(no function) |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / server.py |
create_main_server |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / server.py |
create_media_server |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / server.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
mod_note_to_pb |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
abort_on_invalid_password |
|
100% |
6 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
_volunteer_info_to_pb |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.GetAccountInfo |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.ChangePasswordV2 |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.ChangeEmailV2 |
|
100% |
15 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.ChangeLanguagePreference |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.FillContributorForm |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.GetContributorFormInfo |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.ChangePhone |
|
100% |
27 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.VerifyPhone |
|
89% |
19 |
2 |
0 |
|
80% |
10 |
2 |
|
86% |
| app / backend / src / couchers / servicers / account.py |
Account.InitiateStrongVerification |
|
89% |
19 |
2 |
0 |
|
67% |
6 |
2 |
|
84% |
| app / backend / src / couchers / servicers / account.py |
Account.GetStrongVerificationAttemptStatus |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / account.py |
Account.DeleteStrongVerificationData |
|
100% |
14 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.DeleteAccount |
|
100% |
15 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.ListModNotes |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.ListActiveSessions |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.ListActiveSessions._active_session_to_pb |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.LogOutSession |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.LogOutOtherSessions |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.SetProfilePublicVisibility |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / account.py |
Account.CreateInviteCode |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.DisableInviteCode |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / servicers / account.py |
Account.ListInviteCodes |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.GetReminders |
|
100% |
12 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.GetMyVolunteerInfo |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / account.py |
Account.UpdateMyVolunteerInfo |
|
79% |
33 |
7 |
0 |
|
68% |
22 |
7 |
|
75% |
| app / backend / src / couchers / servicers / account.py |
Iris.Webhook |
|
89% |
18 |
2 |
0 |
|
62% |
8 |
1 |
|
81% |
| app / backend / src / couchers / servicers / account.py |
(no function) |
|
100% |
75 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / admin.py |
_user_to_details |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / admin.py |
_content_report_to_pb |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / admin.py |
_reference_to_pb |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / admin.py |
append_admin_note |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetUserDetails |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetUser |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / admin.py |
Admin.SearchUsers |
|
0% |
44 |
44 |
0 |
|
0% |
38 |
0 |
|
0% |
| app / backend / src / couchers / servicers / admin.py |
Admin.ChangeUserGender |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| app / backend / src / couchers / servicers / admin.py |
Admin.ChangeUserBirthdate |
|
78% |
9 |
2 |
0 |
|
50% |
4 |
2 |
|
69% |
| app / backend / src / couchers / servicers / admin.py |
Admin.AddBadge |
|
92% |
12 |
1 |
0 |
|
88% |
8 |
1 |
|
90% |
| app / backend / src / couchers / servicers / admin.py |
Admin.RemoveBadge |
|
77% |
13 |
3 |
0 |
|
62% |
8 |
3 |
|
71% |
| app / backend / src / couchers / servicers / admin.py |
Admin.SetPassportSexGenderException |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / admin.py |
Admin.BanUser |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / servicers / admin.py |
Admin.UnbanUser |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / servicers / admin.py |
Admin.AddAdminNote |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetContentReport |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetContentReportsForAuthor |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / admin.py |
Admin.SendModNote |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| app / backend / src / couchers / servicers / admin.py |
Admin.MarkUserNeedsLocationUpdate |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / admin.py |
Admin.DeleteUser |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / admin.py |
Admin.RecoverDeletedUser |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / admin.py |
Admin.CreateApiKey |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetChats |
|
92% |
13 |
1 |
0 |
|
50% |
2 |
1 |
|
87% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetChats.get_user_details |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetChats.message_to_pb |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetChats.get_messages_for_conversation |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetChats.get_host_request_pb |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetChats.get_group_chat_pb |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / admin.py |
Admin.DeleteEvent |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| app / backend / src / couchers / servicers / admin.py |
Admin.ListUserIds |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / admin.py |
Admin.EditReferenceText |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| app / backend / src / couchers / servicers / admin.py |
Admin.DeleteReference |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / admin.py |
Admin.GetUserReferences |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / admin.py |
Admin.EditDiscussion |
|
0% |
8 |
8 |
0 |
|
0% |
6 |
0 |
|
0% |
| app / backend / src / couchers / servicers / admin.py |
Admin.EditReply |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| app / backend / src / couchers / servicers / admin.py |
Admin.AddUsersToModerationUserList |
|
100% |
18 |
0 |
0 |
|
92% |
12 |
1 |
|
97% |
| app / backend / src / couchers / servicers / admin.py |
Admin.ListModerationUserLists |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / admin.py |
Admin.RemoveUserFromModerationUserList |
|
93% |
14 |
1 |
0 |
|
90% |
10 |
1 |
|
92% |
| app / backend / src / couchers / servicers / admin.py |
Admin.CreateAccountDeletionLink |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / servicers / admin.py |
Admin.AccessStats |
|
0% |
12 |
12 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / servicers / admin.py |
Admin.SetLastDonated |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / admin.py |
(no function) |
|
100% |
67 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
API.Ping |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
API.GetUser |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / api.py |
API.GetLiteUser |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / api.py |
API.GetLiteUsers |
|
100% |
16 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
API.UpdateProfile |
|
100% |
162 |
0 |
0 |
|
100% |
158 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
API.ListFriends |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
API.RemoveFriend |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
API.ListMutualFriends |
|
92% |
12 |
1 |
0 |
|
75% |
4 |
1 |
|
88% |
| app / backend / src / couchers / servicers / api.py |
API.SendFriendRequest |
|
88% |
17 |
2 |
0 |
|
75% |
8 |
2 |
|
84% |
| app / backend / src / couchers / servicers / api.py |
API.SendFriendRequest.create_friend_relationship |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
API.ListFriendRequests |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
API.RespondFriendRequest |
|
93% |
14 |
1 |
0 |
|
75% |
4 |
1 |
|
89% |
| app / backend / src / couchers / servicers / api.py |
API.CancelFriendRequest |
|
92% |
12 |
1 |
0 |
|
50% |
2 |
1 |
|
86% |
| app / backend / src / couchers / servicers / api.py |
API.InitiateMediaUpload |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
API.ListBadgeUsers |
|
90% |
10 |
1 |
0 |
|
50% |
2 |
1 |
|
83% |
| app / backend / src / couchers / servicers / api.py |
response_rate_to_pb |
|
100% |
13 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
get_num_references |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / api.py |
user_model_to_pb |
|
97% |
66 |
2 |
0 |
|
96% |
54 |
2 |
|
97% |
| app / backend / src / couchers / servicers / api.py |
lite_user_to_pb |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| app / backend / src / couchers / servicers / api.py |
(no function) |
|
100% |
66 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
_auth_res |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
create_session |
|
100% |
14 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
delete_session |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / servicers / auth.py |
_username_available |
|
100% |
9 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
Auth.SignupFlow |
|
91% |
119 |
11 |
0 |
|
81% |
58 |
9 |
|
88% |
| app / backend / src / couchers / servicers / auth.py |
Auth.UsernameValid |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
Auth.Authenticate |
|
100% |
18 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
Auth.GetAuthState |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
Auth.Deauthenticate |
|
100% |
7 |
0 |
0 |
|
50% |
2 |
1 |
|
89% |
| app / backend / src / couchers / servicers / auth.py |
Auth.ResetPassword |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
Auth.CompletePasswordResetV2 |
|
100% |
13 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
Auth.ConfirmChangeEmailV2 |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
Auth.ConfirmDeleteAccount |
|
92% |
13 |
1 |
0 |
|
50% |
2 |
1 |
|
87% |
| app / backend / src / couchers / servicers / auth.py |
Auth.RecoverAccount |
|
90% |
10 |
1 |
0 |
|
50% |
2 |
1 |
|
83% |
| app / backend / src / couchers / servicers / auth.py |
Auth.Unsubscribe |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
Auth.AntiBot |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / servicers / auth.py |
Auth.AntiBotPolicy |
|
0% |
6 |
6 |
0 |
|
0% |
6 |
0 |
|
0% |
| app / backend / src / couchers / servicers / auth.py |
Auth.GetInviteCodeInfo |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / auth.py |
(no function) |
|
100% |
47 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / blocking.py |
is_not_visible |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / blocking.py |
Blocking.BlockUser |
|
91% |
11 |
1 |
0 |
|
83% |
6 |
1 |
|
88% |
| app / backend / src / couchers / servicers / blocking.py |
Blocking.UnblockUser |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| app / backend / src / couchers / servicers / blocking.py |
Blocking.GetBlockedUsers |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / blocking.py |
(no function) |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / bugs.py |
Bugs._version |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / bugs.py |
Bugs.Version |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / bugs.py |
Bugs.ReportBug |
|
100% |
17 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / bugs.py |
Bugs.Status |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / bugs.py |
Bugs.GetDescriptors |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / bugs.py |
Bugs.GeolocationSearchInfo |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / bugs.py |
Bugs.GeolocationClickInfo |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / bugs.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / communities.py |
_parents_to_pb |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / communities.py |
communities_to_pb |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / communities.py |
community_to_pb |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / communities.py |
Communities.GetCommunity |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListCommunities |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / communities.py |
Communities.SearchCommunities |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListGroups |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListAdmins |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| app / backend / src / couchers / servicers / communities.py |
Communities.AddAdmin |
|
87% |
15 |
2 |
0 |
|
80% |
10 |
2 |
|
84% |
| app / backend / src / couchers / servicers / communities.py |
Communities.RemoveAdmin |
|
80% |
15 |
3 |
0 |
|
70% |
10 |
3 |
|
76% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListMembers |
|
80% |
10 |
2 |
0 |
|
50% |
4 |
2 |
|
71% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListNearbyUsers |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListPlaces |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListGuides |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListEvents |
|
79% |
24 |
5 |
0 |
|
60% |
10 |
4 |
|
74% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListDiscussions |
|
78% |
9 |
2 |
0 |
|
50% |
4 |
2 |
|
69% |
| app / backend / src / couchers / servicers / communities.py |
Communities.JoinCommunity |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| app / backend / src / couchers / servicers / communities.py |
Communities.LeaveCommunity |
|
91% |
11 |
1 |
0 |
|
83% |
6 |
1 |
|
88% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListUserCommunities |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / communities.py |
Communities.ListAllCommunities |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / communities.py |
(no function) |
|
100% |
45 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_message_to_pb |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_get_visible_members_for_subscription |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_get_visible_admins_for_subscription |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_user_can_message |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
generate_message_notifications |
|
100% |
13 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_add_message_to_subscription |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_create_chat |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_get_message_subscription |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_get_visible_message_subscription |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_unseen_message_count |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
_mute_info |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.ListGroupChats |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.GetGroupChat |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.GetDirectMessage |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.GetUpdates |
|
0% |
2 |
2 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.GetGroupChatMessages |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.MarkLastSeenGroupChat |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.MuteGroupChat |
|
85% |
13 |
2 |
0 |
|
70% |
10 |
3 |
|
78% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.SetGroupChatArchiveStatus |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.SearchMessages |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.CreateGroupChat |
|
84% |
25 |
4 |
0 |
|
75% |
16 |
4 |
|
80% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.SendMessage |
|
92% |
13 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.SendDirectMessage |
|
80% |
25 |
5 |
0 |
|
58% |
12 |
5 |
|
73% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.EditGroupChat |
|
100% |
11 |
0 |
0 |
|
88% |
8 |
1 |
|
95% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.MakeGroupChatAdmin |
|
82% |
17 |
3 |
0 |
|
75% |
12 |
3 |
|
79% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.RemoveGroupChatAdmin |
|
88% |
17 |
2 |
0 |
|
83% |
12 |
2 |
|
86% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.InviteToGroupChat |
|
89% |
19 |
2 |
0 |
|
83% |
12 |
2 |
|
87% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.RemoveGroupChatUser |
|
77% |
13 |
3 |
0 |
|
62% |
8 |
3 |
|
71% |
| app / backend / src / couchers / servicers / conversations.py |
Conversations.LeaveGroupChat |
|
100% |
11 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / conversations.py |
(no function) |
|
100% |
60 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / discussions.py |
discussion_to_pb |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / discussions.py |
generate_create_discussion_notifications |
|
80% |
10 |
2 |
0 |
|
67% |
6 |
2 |
|
75% |
| app / backend / src / couchers / servicers / discussions.py |
Discussions.CreateDiscussion |
|
87% |
23 |
3 |
0 |
|
71% |
14 |
4 |
|
81% |
| app / backend / src / couchers / servicers / discussions.py |
Discussions.GetDiscussion |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / discussions.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / donations.py |
_create_stripe_customer |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / donations.py |
Donations.InitiateDonation |
|
86% |
14 |
2 |
0 |
|
62% |
8 |
3 |
|
77% |
| app / backend / src / couchers / servicers / donations.py |
Donations.GetDonationPortalLink |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| app / backend / src / couchers / servicers / donations.py |
Stripe.Webhook |
|
100% |
24 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / donations.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
load_community_geom |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
volunteer_to_pb |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
generate_new_blog_post_notifications |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
Editor.CreateCommunity |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
Editor.UpdateCommunity |
|
100% |
15 |
0 |
0 |
|
70% |
10 |
3 |
|
88% |
| app / backend / src / couchers / servicers / editor.py |
Editor.ListEventCommunityInviteRequests |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
Editor.ListEventCommunityInviteRequests._request_to_pb |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
Editor.DecideEventCommunityInviteRequest |
|
87% |
15 |
2 |
0 |
|
75% |
8 |
2 |
|
83% |
| app / backend / src / couchers / servicers / editor.py |
Editor.SendBlogPostNotification |
|
67% |
6 |
2 |
0 |
|
50% |
4 |
2 |
|
60% |
| app / backend / src / couchers / servicers / editor.py |
Editor.MakeUserVolunteer |
|
100% |
15 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
Editor.UpdateVolunteer |
|
100% |
21 |
0 |
0 |
|
100% |
16 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
Editor.ListVolunteers |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / editor.py |
(no function) |
|
100% |
40 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
_is_event_owner |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
_is_event_organizer |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
_can_moderate_event |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
_can_edit_event |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
event_to_pb |
|
100% |
17 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
_get_event_and_occurrence_query |
|
100% |
6 |
0 |
0 |
|
75% |
4 |
1 |
|
90% |
| app / backend / src / couchers / servicers / events.py |
_get_event_and_occurrence_one |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
_get_event_and_occurrence_one_or_none |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
_check_occurrence_time_validity |
|
100% |
8 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
get_users_to_notify_for_new_event |
|
67% |
9 |
3 |
0 |
|
75% |
4 |
1 |
|
69% |
| app / backend / src / couchers / servicers / events.py |
generate_event_create_notifications |
|
81% |
16 |
3 |
0 |
|
67% |
6 |
2 |
|
77% |
| app / backend / src / couchers / servicers / events.py |
generate_event_update_notifications |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| app / backend / src / couchers / servicers / events.py |
generate_event_cancel_notifications |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| app / backend / src / couchers / servicers / events.py |
generate_event_delete_notifications |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / servicers / events.py |
Events.CreateEvent |
|
93% |
56 |
4 |
0 |
|
82% |
28 |
5 |
|
89% |
| app / backend / src / couchers / servicers / events.py |
Events.CreateEvent.create_occurrence |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
Events.ScheduleEvent |
|
79% |
38 |
8 |
0 |
|
60% |
20 |
8 |
|
72% |
| app / backend / src / couchers / servicers / events.py |
Events.ScheduleEvent.create_occurrence |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
Events.UpdateEvent |
|
87% |
63 |
8 |
0 |
|
79% |
38 |
8 |
|
84% |
| app / backend / src / couchers / servicers / events.py |
Events.GetEvent |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / events.py |
Events.CancelEvent |
|
75% |
12 |
3 |
0 |
|
50% |
6 |
3 |
|
67% |
| app / backend / src / couchers / servicers / events.py |
Events.RequestCommunityInvite |
|
86% |
22 |
3 |
0 |
|
75% |
12 |
3 |
|
82% |
| app / backend / src / couchers / servicers / events.py |
Events.ListEventOccurrences |
|
84% |
19 |
3 |
0 |
|
67% |
6 |
2 |
|
80% |
| app / backend / src / couchers / servicers / events.py |
Events.ListEventAttendees |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| app / backend / src / couchers / servicers / events.py |
Events.ListEventSubscribers |
|
88% |
8 |
1 |
0 |
|
50% |
2 |
1 |
|
80% |
| app / backend / src / couchers / servicers / events.py |
Events.ListEventOrganizers |
|
88% |
8 |
1 |
0 |
|
50% |
2 |
1 |
|
80% |
| app / backend / src / couchers / servicers / events.py |
Events.TransferEvent |
|
85% |
20 |
3 |
0 |
|
71% |
14 |
4 |
|
79% |
| app / backend / src / couchers / servicers / events.py |
Events.SetEventSubscription |
|
88% |
16 |
2 |
0 |
|
80% |
10 |
2 |
|
85% |
| app / backend / src / couchers / servicers / events.py |
Events.SetEventAttendance |
|
89% |
18 |
2 |
0 |
|
75% |
12 |
3 |
|
83% |
| app / backend / src / couchers / servicers / events.py |
Events.ListMyEvents |
|
95% |
38 |
2 |
0 |
|
93% |
14 |
1 |
|
94% |
| app / backend / src / couchers / servicers / events.py |
Events.ListAllEvents |
|
100% |
14 |
0 |
0 |
|
75% |
4 |
1 |
|
94% |
| app / backend / src / couchers / servicers / events.py |
Events.InviteEventOrganizer |
|
83% |
18 |
3 |
0 |
|
70% |
10 |
3 |
|
79% |
| app / backend / src / couchers / servicers / events.py |
Events.RemoveEventOrganizer |
|
78% |
18 |
4 |
0 |
|
67% |
12 |
4 |
|
73% |
| app / backend / src / couchers / servicers / events.py |
(no function) |
|
100% |
63 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / galleries.py |
_get_max_photos_for_user |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / galleries.py |
_can_edit_gallery |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / galleries.py |
_gallery_to_pb |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / galleries.py |
Galleries.GetGallery |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / galleries.py |
Galleries.AddPhotoToGallery |
|
100% |
22 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| app / backend / src / couchers / servicers / galleries.py |
Galleries.RemovePhotoFromGallery |
|
92% |
12 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| app / backend / src / couchers / servicers / galleries.py |
Galleries.MovePhoto |
|
93% |
28 |
2 |
0 |
|
83% |
18 |
3 |
|
89% |
| app / backend / src / couchers / servicers / galleries.py |
Galleries.UpdatePhotoCaption |
|
92% |
12 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| app / backend / src / couchers / servicers / galleries.py |
Galleries.GetGalleryEditInfo |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / galleries.py |
(no function) |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / gis.py |
_build_geojson_select |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / gis.py |
_statement_to_geojson_response |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / gis.py |
GIS.GetUsers |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / gis.py |
GIS.GetClusteredUsers |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / gis.py |
GIS.GetCommunities |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / gis.py |
GIS.GetPlaces |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / gis.py |
GIS.GetGuides |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / servicers / gis.py |
(no function) |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / groups.py |
_parents_to_pb |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / groups.py |
group_to_pb |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / groups.py |
Groups.GetGroup |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / groups.py |
Groups.ListAdmins |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| app / backend / src / couchers / servicers / groups.py |
Groups.ListMembers |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| app / backend / src / couchers / servicers / groups.py |
Groups.ListPlaces |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / servicers / groups.py |
Groups.ListGuides |
|
0% |
7 |
7 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / servicers / groups.py |
Groups.ListEvents |
|
80% |
15 |
3 |
0 |
|
50% |
4 |
2 |
|
74% |
| app / backend / src / couchers / servicers / groups.py |
Groups.ListDiscussions |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| app / backend / src / couchers / servicers / groups.py |
Groups.JoinGroup |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| app / backend / src / couchers / servicers / groups.py |
Groups.LeaveGroup |
|
89% |
9 |
1 |
0 |
|
75% |
4 |
1 |
|
85% |
| app / backend / src / couchers / servicers / groups.py |
Groups.ListUserGroups |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / groups.py |
(no function) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / jail.py |
_get_jail_info |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / jail.py |
Jail.JailInfo |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / jail.py |
Jail.AcceptTOS |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / jail.py |
Jail.SetLocation |
|
89% |
9 |
1 |
0 |
|
50% |
2 |
1 |
|
82% |
| app / backend / src / couchers / servicers / jail.py |
Jail.AcceptCommunityGuidelines |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / jail.py |
Jail.AcknowledgePendingModNote |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / jail.py |
Jail.RespondToActivenessProbe |
|
92% |
12 |
1 |
0 |
|
83% |
6 |
1 |
|
89% |
| app / backend / src / couchers / servicers / jail.py |
(no function) |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / media.py |
get_media_auth_interceptor |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / media.py |
get_media_auth_interceptor.is_authorized |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / media.py |
Media.UploadConfirmation |
|
86% |
7 |
1 |
0 |
|
50% |
2 |
1 |
|
78% |
| app / backend / src / couchers / servicers / media.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / moderation.py |
moderation_state_to_pb |
|
94% |
17 |
1 |
0 |
|
88% |
8 |
1 |
|
92% |
| app / backend / src / couchers / servicers / moderation.py |
Moderation.GetModerationQueue |
|
90% |
39 |
4 |
0 |
|
83% |
24 |
2 |
|
87% |
| app / backend / src / couchers / servicers / moderation.py |
Moderation.GetModerationState |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / moderation.py |
Moderation.GetModerationLog |
|
100% |
12 |
0 |
0 |
|
83% |
6 |
1 |
|
94% |
| app / backend / src / couchers / servicers / moderation.py |
Moderation.ModerateContent |
|
93% |
30 |
2 |
0 |
|
83% |
12 |
2 |
|
90% |
| app / backend / src / couchers / servicers / moderation.py |
Moderation.FlagContentForReview |
|
92% |
12 |
1 |
0 |
|
50% |
2 |
1 |
|
86% |
| app / backend / src / couchers / servicers / moderation.py |
Moderation.UnflagContent |
|
0% |
16 |
16 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / couchers / servicers / moderation.py |
(no function) |
|
100% |
31 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / notifications.py |
get_vapid_public_key |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / notifications.py |
notification_to_pb |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.GetNotificationSettings |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.SetNotificationSettings |
|
89% |
18 |
2 |
0 |
|
75% |
8 |
2 |
|
85% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.ListNotifications |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.MarkNotificationSeen |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.MarkAllNotificationsSeen |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.GetVapidPublicKey |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.RegisterPushNotificationSubscription |
|
88% |
8 |
1 |
0 |
|
50% |
2 |
1 |
|
80% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.SendTestPushNotification |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.RegisterMobilePushNotificationSubscription |
|
95% |
19 |
1 |
0 |
|
75% |
8 |
2 |
|
89% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.SendTestMobilePushNotification |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.SendDevPushNotification |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / notifications.py |
Notifications.DebugRedeliverPushNotification |
|
100% |
10 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / notifications.py |
(no function) |
|
100% |
40 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / pages.py |
_is_page_owner |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / pages.py |
_can_moderate_page |
|
100% |
6 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / pages.py |
page_to_pb |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / pages.py |
Pages.CreatePlace |
|
92% |
26 |
2 |
0 |
|
86% |
14 |
2 |
|
90% |
| app / backend / src / couchers / servicers / pages.py |
Pages.CreateGuide |
|
93% |
30 |
2 |
0 |
|
88% |
16 |
2 |
|
91% |
| app / backend / src / couchers / servicers / pages.py |
Pages.GetPage |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / servicers / pages.py |
Pages.UpdatePage |
|
93% |
30 |
2 |
0 |
|
92% |
24 |
2 |
|
93% |
| app / backend / src / couchers / servicers / pages.py |
Pages.TransferPage |
|
88% |
16 |
2 |
0 |
|
80% |
10 |
2 |
|
85% |
| app / backend / src / couchers / servicers / pages.py |
Pages.ListUserPlaces |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / pages.py |
Pages.ListUserGuides |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / pages.py |
(no function) |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / postal_verification.py |
_attempt_to_address_pb |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / postal_verification.py |
PostalVerification.InitiatePostalVerification |
|
88% |
24 |
3 |
0 |
|
93% |
14 |
1 |
|
89% |
| app / backend / src / couchers / servicers / postal_verification.py |
PostalVerification.ConfirmPostalAddress |
|
90% |
10 |
1 |
0 |
|
75% |
4 |
1 |
|
86% |
| app / backend / src / couchers / servicers / postal_verification.py |
PostalVerification.GetPostalVerificationStatus |
|
96% |
28 |
1 |
0 |
|
86% |
14 |
2 |
|
93% |
| app / backend / src / couchers / servicers / postal_verification.py |
PostalVerification.VerifyPostalCode |
|
95% |
21 |
1 |
0 |
|
88% |
8 |
1 |
|
93% |
| app / backend / src / couchers / servicers / postal_verification.py |
PostalVerification.CancelPostalVerification |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| app / backend / src / couchers / servicers / postal_verification.py |
PostalVerification.ListPostalVerificationAttempts |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / postal_verification.py |
(no function) |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
format_volunteer_link |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
_get_public_users |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
_get_signup_page_info |
|
67% |
9 |
3 |
0 |
|
25% |
4 |
1 |
|
54% |
| app / backend / src / couchers / servicers / public.py |
_get_donation_stats |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
_get_volunteers |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
_get_volunteers.format_volunteer |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
Public.GetPublicUsers |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
Public.GetPublicUser |
|
92% |
12 |
1 |
0 |
|
88% |
8 |
1 |
|
90% |
| app / backend / src / couchers / servicers / public.py |
Public.GetSignupPageInfo |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
Public.GetVolunteers |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
Public.GetDonationStats |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / public.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / references.py |
reference_to_pb |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / references.py |
get_host_req_and_check_can_write_ref |
|
95% |
20 |
1 |
0 |
|
90% |
10 |
1 |
|
93% |
| app / backend / src / couchers / servicers / references.py |
check_valid_reference |
|
75% |
4 |
1 |
0 |
|
75% |
4 |
1 |
|
75% |
| app / backend / src / couchers / servicers / references.py |
get_pending_references_to_write |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / references.py |
References.ListReferences |
|
100% |
25 |
0 |
0 |
|
100% |
14 |
0 |
|
100% |
| app / backend / src / couchers / servicers / references.py |
References.WriteFriendReference |
|
94% |
18 |
1 |
0 |
|
88% |
8 |
1 |
|
92% |
| app / backend / src / couchers / servicers / references.py |
References.WriteHostRequestReference |
|
100% |
20 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / references.py |
References.HostRequestIndicateDidntMeetup |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / servicers / references.py |
References.AvailableWriteReferences |
|
100% |
11 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / references.py |
References.ListPendingReferencesToWrite |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / references.py |
References.GetHostRequestReferenceStatus |
|
100% |
15 |
0 |
0 |
|
75% |
4 |
1 |
|
95% |
| app / backend / src / couchers / servicers / references.py |
(no function) |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / reporting.py |
Reporting.Report |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / reporting.py |
(no function) |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
message_to_pb |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
host_request_to_pb |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
_possibly_observe_first_response_time |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
_is_host_request_long_enough |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
Requests.CreateHostRequest |
|
100% |
42 |
0 |
0 |
|
100% |
20 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
Requests.GetHostRequest |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
Requests.ListHostRequests |
|
96% |
27 |
1 |
0 |
|
93% |
14 |
1 |
|
95% |
| app / backend / src / couchers / servicers / requests.py |
Requests.RespondHostRequest |
|
93% |
68 |
5 |
0 |
|
86% |
36 |
5 |
|
90% |
| app / backend / src / couchers / servicers / requests.py |
Requests.RespondHostRequest.count_host_response |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
Requests.GetHostRequestMessages |
|
82% |
11 |
2 |
0 |
|
50% |
4 |
2 |
|
73% |
| app / backend / src / couchers / servicers / requests.py |
Requests.SendHostRequestMessage |
|
100% |
22 |
0 |
0 |
|
100% |
10 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
Requests.GetHostRequestUpdates |
|
79% |
19 |
4 |
0 |
|
60% |
10 |
4 |
|
72% |
| app / backend / src / couchers / servicers / requests.py |
Requests.MarkLastSeenHostRequest |
|
64% |
14 |
5 |
0 |
|
50% |
10 |
3 |
|
58% |
| app / backend / src / couchers / servicers / requests.py |
Requests.SetHostRequestArchiveStatus |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| app / backend / src / couchers / servicers / requests.py |
Requests.GetResponseRate |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
Requests.SendHostRequestFeedback |
|
100% |
10 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / servicers / requests.py |
(no function) |
|
100% |
44 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / resources.py |
Resources.GetTermsOfService |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / resources.py |
Resources.GetCommunityGuidelines |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / resources.py |
Resources.GetRegions |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / resources.py |
Resources.GetLanguages |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / resources.py |
Resources.GetBadges |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / resources.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
_join_with_space |
|
83% |
6 |
1 |
0 |
|
75% |
4 |
1 |
|
80% |
| app / backend / src / couchers / servicers / search.py |
_build_tsv |
|
100% |
11 |
0 |
0 |
|
67% |
6 |
2 |
|
88% |
| app / backend / src / couchers / servicers / search.py |
_build_doc |
|
100% |
11 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
_similarity |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
_gen_search_elements |
|
100% |
22 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
_gen_search_elements.execute_search_statement |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
_search_users |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / couchers / servicers / search.py |
_search_pages |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / servicers / search.py |
_search_events |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
_search_clusters |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / couchers / servicers / search.py |
_user_search_inner |
|
71% |
91 |
26 |
0 |
|
66% |
70 |
20 |
|
69% |
| app / backend / src / couchers / servicers / search.py |
Search.Search |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
Search.UserSearch |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
Search.UserSearchV2 |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
Search.UserSearchV2._user_to_search_user |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / search.py |
Search.EventSearch |
|
93% |
56 |
4 |
0 |
|
88% |
34 |
2 |
|
91% |
| app / backend / src / couchers / servicers / search.py |
(no function) |
|
100% |
42 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / threads.py |
pack_thread_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / threads.py |
unpack_thread_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / threads.py |
total_num_responses |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / threads.py |
thread_to_pb |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / servicers / threads.py |
generate_reply_notifications |
|
86% |
58 |
8 |
0 |
|
72% |
32 |
9 |
|
81% |
| app / backend / src / couchers / servicers / threads.py |
Threads.GetThread |
|
94% |
18 |
1 |
0 |
|
90% |
10 |
1 |
|
93% |
| app / backend / src / couchers / servicers / threads.py |
Threads.PostReply |
|
100% |
17 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / servicers / threads.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
username_or_email |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
username_or_id |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
username_or_email_or_id |
|
86% |
7 |
1 |
0 |
|
83% |
6 |
1 |
|
85% |
| app / backend / src / couchers / sql.py |
users_visible |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
where_users_column_visible |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
users_visible_to_each_other |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
where_user_columns_visible_to_each_other |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
where_moderated_content_visible_to_user_column |
|
100% |
6 |
0 |
0 |
|
50% |
2 |
1 |
|
88% |
| app / backend / src / couchers / sql.py |
where_moderated_content_visible |
|
100% |
7 |
0 |
0 |
|
75% |
4 |
1 |
|
91% |
| app / backend / src / couchers / sql.py |
moderation_state_column_visible |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
_relevant_user_blocks |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
to_bool |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / sql.py |
(no function) |
|
100% |
19 |
0 |
5 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
send_signup_email |
|
100% |
13 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
send_email_changed_confirmation_to_new_email |
|
71% |
7 |
2 |
0 |
|
50% |
4 |
2 |
|
64% |
| app / backend / src / couchers / tasks.py |
send_content_report_email |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
maybe_send_reference_report_email |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
send_rate_limit_violation_report_email |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
send_duplicate_strong_verification_email |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
maybe_send_contributor_form_email |
|
50% |
2 |
1 |
0 |
|
50% |
2 |
1 |
|
50% |
| app / backend / src / couchers / tasks.py |
send_event_community_invite_request_email |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
send_account_deletion_report_email |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
enforce_community_memberships |
|
100% |
8 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
enforce_community_memberships_for_user |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / tasks.py |
(no function) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / templating.py |
Jinja2Template.render |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / templating.py |
_FilterContext.from_jinja |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / templating.py |
_get_jinja_env |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / templating.py |
_finalize |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / templating.py |
_format_default |
|
77% |
13 |
3 |
0 |
|
70% |
10 |
3 |
|
74% |
| app / backend / src / couchers / templating.py |
_filter_multiline |
|
86% |
7 |
1 |
0 |
|
75% |
4 |
1 |
|
82% |
| app / backend / src / couchers / templating.py |
_filter_quotelines |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| app / backend / src / couchers / templating.py |
_filter_markdown |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / templating.py |
_filter_html |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / templating.py |
_filter_date |
|
100% |
4 |
0 |
0 |
|
50% |
2 |
1 |
|
83% |
| app / backend / src / couchers / templating.py |
_filter_time |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / templating.py |
_filter_datetime |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / templating.py |
_filter_translate |
|
100% |
14 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / couchers / templating.py |
_replace_html_tag_match |
|
88% |
8 |
1 |
0 |
|
75% |
4 |
1 |
|
83% |
| app / backend / src / couchers / templating.py |
(no function) |
|
100% |
50 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / tracing.py |
setup_tracing |
|
0% |
8 |
8 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / couchers / tracing.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
app_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
icon_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
profile_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
user_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
edit_profile_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
signup_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
account_settings_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
notification_settings_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
feature_preview_link |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / urls.py |
password_reset_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
host_request_link_host |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / urls.py |
host_request_link_guest |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / urls.py |
host_request |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
messages_link |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / urls.py |
chat_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
event_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
community_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
discussion_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
leave_reference_link |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / couchers / urls.py |
profile_references_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
friend_requests_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
media_upload_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
change_email_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
donation_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
donation_cancelled_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
donation_success_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
complete_strong_verification_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
delete_account_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
recover_account_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
unsubscribe_link |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / couchers / urls.py |
quick_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
media_url |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
console_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
invite_code_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
postal_verification_link |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / urls.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
is_valid_user_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
is_valid_username |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
is_valid_name |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
is_valid_email |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
Timestamp_from_datetime |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
Duration_from_timedelta |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
parse_date |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
date_to_api |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
to_aware_datetime |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
now |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
minimum_allowed_birthdate |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
today |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
now_in_timezone |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
today_in_timezone |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
wrap_coordinate |
|
93% |
14 |
1 |
0 |
|
83% |
6 |
1 |
|
90% |
| app / backend / src / couchers / utils.py |
wrap_coordinate.__wrap_gen |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
wrap_coordinate.__wrap_flip |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
wrap_coordinate.__wrap_rem |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
create_coordinate |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
create_polygon_lat_lng |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
create_polygon_lng_lat |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
geojson_to_geom |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
to_multi |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
get_coordinates |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
get_coordinates |
|
100% |
0 |
0 |
1 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
get_coordinates |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
http_date |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
_create_tasty_cookie |
|
82% |
11 |
2 |
0 |
|
50% |
2 |
1 |
|
77% |
| app / backend / src / couchers / utils.py |
create_session_cookies |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
create_lang_cookie |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
_parse_cookie |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
parse_session_cookie |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
parse_user_id_cookie |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
parse_ui_lang_cookie |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
parse_api_key |
|
75% |
8 |
2 |
0 |
|
67% |
6 |
2 |
|
71% |
| app / backend / src / couchers / utils.py |
parse_sofa_cookie |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
generate_sofa_cookie |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
remove_duplicates_retain_order |
|
100% |
5 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
date_in_timezone |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
millis_from_dt |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
dt_from_millis |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
dt_to_page_token |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
dt_from_page_token |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
last_active_coarsen |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / couchers / utils.py |
not_none |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| app / backend / src / couchers / utils.py |
is_geom |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| app / backend / src / couchers / utils.py |
(no function) |
|
100% |
63 |
0 |
6 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / run_locally.py |
parse_env_lines |
|
0% |
5 |
5 |
0 |
|
0% |
4 |
0 |
|
0% |
| app / backend / src / run_locally.py |
read_db_password |
|
0% |
3 |
3 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / run_locally.py |
update_env |
|
0% |
4 |
4 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / run_locally.py |
main |
|
0% |
10 |
10 |
0 |
|
0% |
6 |
0 |
|
0% |
| app / backend / src / run_locally.py |
(no function) |
|
0% |
9 |
9 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / tests / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
postgres_engine |
|
83% |
6 |
1 |
0 |
|
50% |
2 |
1 |
|
75% |
| app / backend / src / tests / conftest.py |
postgres_conn |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
testdb_engine |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
testdb_conn |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
setup_testdb |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
_truncate_non_static_tables |
|
100% |
12 |
0 |
0 |
|
88% |
8 |
1 |
|
95% |
| app / backend / src / tests / conftest.py |
db |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
db_class |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
testconfig |
|
100% |
66 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
fast_passwords |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
fast_passwords.fast_hash |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
fast_passwords.fast_verify |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
push_collector |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
moderator |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / conftest.py |
(no function) |
|
100% |
39 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
create_schema_from_models |
|
100% |
7 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
populate_testing_resources |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
drop_database |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
autocommit_engine |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
make_user |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
generate_user |
|
100% |
36 |
0 |
0 |
|
100% |
12 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
get_user_id_and_token |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
make_friends |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
make_user_block |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
make_user_invisible |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
get_friend_relationship |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
add_users_to_new_moderation_list |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
pg_dump_is_available |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
make_volunteer |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / db.py |
(no function) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
process_jobs |
|
100% |
2 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
mock_notification_email |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
email_fields |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
PushCollector.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
PushCollector.push_to_user |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
PushCollector.count_for_user |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
PushCollector.pop_for_user |
|
100% |
5 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
Moderator.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
Moderator.approve_host_request |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
Moderator.approve_group_chat |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
Moderator.approve_friend_request |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
Moderator.approve_event_occurrence |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / misc.py |
(no function) |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
_MockCouchersContext.headers |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
CookieMetadataPlugin.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
CookieMetadataPlugin.__call__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
MetadataKeeperInterceptor.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
MetadataKeeperInterceptor.intercept_unary_unary |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
FakeRpcError.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
FakeRpcError.code |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
FakeRpcError.details |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
MockGrpcContext.__init__ |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
MockGrpcContext.abort |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
MockGrpcContext.invocation_metadata |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
MockGrpcContext.send_initial_metadata |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / tests / fixtures / sessions.py |
FakeChannel.__init__ |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
FakeChannel.add_generic_rpc_handlers |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
FakeChannel.unary_unary |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
FakeChannel.unary_unary.fake_handler |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
run_server |
|
100% |
14 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
auth_api_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
real_api_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
real_admin_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
real_editor_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
real_moderation_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
real_account_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
real_jail_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
real_stripe_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
real_iris_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
media_session |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
api_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
gis_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
public_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
conversations_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
requests_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
threads_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
discussions_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
donations_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
pages_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
communities_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
groups_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
blocking_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
notifications_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
account_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
search_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
references_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
galleries_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
reporting_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
events_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
postal_verification_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
bugs_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
resources_session |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / fixtures / sessions.py |
(no function) |
|
100% |
127 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / __init__.py |
(no function) |
|
100% |
0 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / algorithms.py |
AlgorithmBase.__call__ |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / tests / pytest_split / algorithms.py |
AlgorithmBase.__hash__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / algorithms.py |
AlgorithmBase.__eq__ |
|
67% |
3 |
1 |
0 |
|
50% |
2 |
1 |
|
60% |
| app / backend / src / tests / pytest_split / algorithms.py |
LeastDurationAlgorithm.__call__ |
|
100% |
24 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / algorithms.py |
DurationBasedChunksAlgorithm.__call__ |
|
0% |
15 |
15 |
0 |
|
0% |
8 |
0 |
|
0% |
| app / backend / src / tests / pytest_split / algorithms.py |
_get_items_with_durations |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / algorithms.py |
_get_avg_duration_per_test |
|
75% |
4 |
1 |
0 |
|
50% |
2 |
1 |
|
67% |
| app / backend / src / tests / pytest_split / algorithms.py |
_remove_irrelevant_durations |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / algorithms.py |
Algorithms.names |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / algorithms.py |
(no function) |
|
100% |
27 |
0 |
2 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / plugin.py |
pytest_addoption |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / plugin.py |
pytest_cmdline_main |
|
69% |
13 |
4 |
0 |
|
60% |
10 |
4 |
|
65% |
| app / backend / src / tests / pytest_split / plugin.py |
pytest_configure |
|
100% |
4 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / plugin.py |
Base.__init__ |
|
67% |
9 |
3 |
0 |
|
50% |
2 |
1 |
|
64% |
| app / backend / src / tests / pytest_split / plugin.py |
PytestSplitPlugin.__init__ |
|
50% |
4 |
2 |
0 |
|
50% |
2 |
1 |
|
50% |
| app / backend / src / tests / pytest_split / plugin.py |
PytestSplitPlugin.pytest_collection_modifyitems |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / pytest_split / plugin.py |
PytestSplitCachePlugin.pytest_sessionfinish |
|
0% |
18 |
18 |
2 |
|
0% |
12 |
0 |
|
0% |
| app / backend / src / tests / pytest_split / plugin.py |
(no function) |
|
100% |
21 |
0 |
5 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_GetAccountInfo |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_donation_banner_no_drive |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_donation_banner_never_donated |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_donation_banner_donated_before_drive |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_donation_banner_donated_after_drive |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_donation_banner_donated_exactly_at_drive_start |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_GetAccountInfo_regression |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangePasswordV2_normal |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangePasswordV2_regression |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangePasswordV2_normal_short_password |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangePasswordV2_normal_long_password |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangePasswordV2_normal_insecure_password |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangePasswordV2_normal_wrong_password |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangePasswordV2_normal_no_passwords |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_wrong_password |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_wrong_email |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_invalid_email |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_email_in_use |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_no_change |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_wrong_token |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_tokens_two_hour_window |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_tokens_two_hour_window.two_hours_one_minute_in_future |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_tokens_two_hour_window.one_minute_ago |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2 |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeEmailV2_sends_proper_emails |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ChangeLanguagePreference |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_contributor_form |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_DeleteAccount_start |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_DeleteAccount_message_storage |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_full_delete_account_with_recovery |
|
100% |
84 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_multiple_delete_tokens |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ListActiveSessions_pagination |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ListActiveSessions_details |
|
100% |
33 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ListActiveSessions_details.dummy_geoip |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_LogOutSession |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_LogOutOtherSessions |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_CreateInviteCode |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_DisableInviteCode |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_ListInviteCodes |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_reminders |
|
100% |
53 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
test_volunteer_stuff |
|
100% |
72 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_account.py |
(no function) |
|
100% |
58 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_activeness_probes.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_activeness_probes.py |
test_activeness_probes_happy_path_inactive |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_activeness_probes.py |
test_activeness_probes_happy_path_active |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_activeness_probes.py |
test_activeness_probes_disabled |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_activeness_probes.py |
test_activeness_probes_expiry |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_activeness_probes.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_access_by_normal_user |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_GetUser |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_GetUserDetails |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_ChangeUserGender |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_ChangeUserBirthdate |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_BanUser |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_UnbanUser |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_AddAdminNote |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_AddAdminNote_blank |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_admin_content_reports |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_DeleteUser |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_CreateApiKey |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_GetChats |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_badges |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_DeleteEvent |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_ListUserIds |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_EditReferenceText |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_DeleteReference |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_GetUserReferences |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_GetUserReferences_not_found |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_AddUsersToModerationUserList |
|
100% |
42 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_RemoveUserFromModerationUserList |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_admin_delete_account_url |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
test_SetLastDonated |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_admin.py |
(no function) |
|
100% |
40 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_ping |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_coords |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_get_user |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_user_model_to_pb_ghost_user |
|
100% |
53 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_user_model_to_pb_ghost_user_blocked |
|
100% |
53 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_admin_viewing_ghost_users_sees_full_profile |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_lite_coords |
|
100% |
49 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_lite_get_user |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetLiteUsers |
|
100% |
38 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_update_profile |
|
100% |
55 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_update_profile_do_not_email |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_language_abilities |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_pending_friend_request_count |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_friend_request_flow |
|
100% |
82 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_RemoveFriend_regression |
|
100% |
32 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_cant_friend_request_twice |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_cant_friend_request_pending |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_cant_friend_request_already_friends |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_excessive_friend_requests_are_reported |
|
100% |
27 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_ListFriends |
|
100% |
51 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_ListMutualFriends |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_mutual_friends_self |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_CancelFriendRequest |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_accept_friend_request |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_reject_friend_request |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_hosting_preferences |
|
100% |
79 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_badges |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_ListBadgeUsers_excludes_ghost_users |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetLiteUser_ghost_user_by_username |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetLiteUser_ghost_user_by_id |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetLiteUser_blocked_user |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetLiteUser_blocking_user |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetLiteUsers_ghost_users |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetLiteUsers_blocked_users |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetUser_ghost_user_by_id |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetUser_blocked_user |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
test_GetUser_blocking_user |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_api.py |
(no function) |
|
100% |
63 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_app.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_app.py |
test_create_servers |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_app.py |
(no function) |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
get_session_cookie_tokens |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_UsernameValid |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_incremental |
|
100% |
82 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
_quick_signup |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_basic_login |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_login_part_signed_up_verified_email |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_login_part_signed_up_not_verified_email |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_banned_user |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_deleted_user |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_invalid_token |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_password_reset_v2 |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_password_reset_no_such_user |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_password_reset_invalid_token_v2 |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_logout_invalid_token |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_without_password |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_invalid_birthdate |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_invalid_email |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_existing_email |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_banned_user_email |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_deleted_user_email |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_continue_with_email |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_resend_email |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_successful_authenticate |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_unsuccessful_authenticate |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_complete_signup |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_token_regression |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_opt_out_of_newsletter |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_GetAuthState |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_signup_no_feedback_regression |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_banned_username |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_GetInviteCodeInfo |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_GetInviteCodeInfo_no_avatar |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_GetInviteCodeInfo_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
test_SignupFlow_invite_code |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_auth.py |
(no function) |
|
100% |
53 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
now_5_min_in_future |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
_check_job_counter |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_email_job |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_email_job.mock_print_dev_email |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_purge_login_tokens |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_purge_password_reset_tokens |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_purge_account_deletion_tokens |
|
100% |
16 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_enforce_community_memberships |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_refresh_materialized_views |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_service_jobs |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_service_jobs.raising_sleep |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_scheduler |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_scheduler.purge_login_tokens |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / tests / test_bg_jobs.py |
test_scheduler.send_message_notifications |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / tests / test_bg_jobs.py |
test_scheduler.mock_monotonic |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_scheduler.mock_sleep |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_scheduler.mock_run_job_and_schedule |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_job_retry |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_job_retry.mock_job |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_no_jobs_no_problem |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_basic |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_muted |
|
100% |
40 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_request_notifications_host_request |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_seen |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_seen.now_30_min_in_future |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_onboarding_emails |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_reference_reminders |
|
100% |
37 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_host_request_reminders |
|
100% |
47 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_add_users_to_email_list |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_update_recommendation_scores |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_update_badges |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_request_notifications_blocked_users_no_notification |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_host_request_reminders_blocked_users_no_notification |
|
96% |
23 |
1 |
0 |
|
75% |
4 |
1 |
|
93% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_blocked_users_no_notification |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_update_badges_volunteers |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_update_badges_volunteer_status_change |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.FirstResult.scalars |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.FirstResult.unique |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.SecondResult.all |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.DummySession.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.DummySession.execute |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.DummySession.commit |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.DummySession.flush |
|
0% |
1 |
1 |
0 |
|
100% |
0 |
0 |
|
0% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.fake_session_scope |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.fake_session_scope.Ctx.__enter__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
test_send_message_notifications_empty_unseen_simple.fake_session_scope.Ctx.__exit__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bg_jobs.py |
(no function) |
|
100% |
61 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_blocking.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_blocking.py |
test_BlockUser |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_blocking.py |
test_make_user_block |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_blocking.py |
test_UnblockUser |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_blocking.py |
test_GetBlockedUsers |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_blocking.py |
test_relationships_userblock_dot_user |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_blocking.py |
test_is_not_visible |
|
100% |
89 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_blocking.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
test_bugs_disabled |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
test_bugs |
|
100% |
9 |
0 |
0 |
|
0% |
2 |
2 |
|
82% |
| app / backend / src / tests / test_bugs.py |
test_bugs.dud_post |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
test_bugs.dud_post._PostReturn.json |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
test_bugs_with_user |
|
100% |
10 |
0 |
0 |
|
0% |
2 |
2 |
|
83% |
| app / backend / src / tests / test_bugs.py |
test_bugs_with_user.dud_post |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
test_bugs_with_user.dud_post._PostReturn.json |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
test_bugs_fails_on_network_error |
|
100% |
9 |
0 |
0 |
|
0% |
2 |
2 |
|
82% |
| app / backend / src / tests / test_bugs.py |
test_bugs_fails_on_network_error.dud_post |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
test_version |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
test_status |
|
100% |
8 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
test_GetDescriptors |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_bugs.py |
(no function) |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
create_1d_polygon |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
create_1d_point |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
create_community |
|
100% |
20 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
create_group |
|
100% |
18 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
create_place |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
create_discussion |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
create_event |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
get_community_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
get_group_id |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
testing_communities |
|
100% |
68 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_GetCommunity |
|
100% |
104 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListCommunities |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListCommunities_all |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListUserCommunities |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListOtherUserCommunities |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListGroups |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListAdmins |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_AddAdmin |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_RemoveAdmin |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListMembers |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListNearbyUsers |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListDiscussions |
|
100% |
25 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_is_user_in_node_geography |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListEvents |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_empty_query_aborts |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_min_length_lt_3_aborts |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_typo_matches_existing_name |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_word_similarity_matches_partial_word |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_results_sorted_by_similarity |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_no_results_returns_empty |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
TestCommunities.test_ListAllCommunities |
|
100% |
54 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
test_JoinCommunity_and_LeaveCommunity |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
test_LeaveCommunity_regression |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
test_enforce_community_memberships_for_user |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_communities.py |
(no function) |
|
100% |
76 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_list_group_chats |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_list_empty_group_chats |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_list_group_chats_ordering |
|
100% |
49 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_list_group_chats_ordering_after_left |
|
100% |
54 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_get_group_chat_messages |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_get_group_chat_messages_pagination |
|
100% |
20 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_get_group_chat_messages_joined_left |
|
100% |
37 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_get_group_chat_info |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_get_group_chat_info_denied |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_get_group_chat_info_left |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_remove_group_chat_user |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_edit_group_chat |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_make_remove_group_chat_admin |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_send_message |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_send_direct_message |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_excessive_chat_initiations_are_reported |
|
100% |
27 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_leave_invite_to_group_chat |
|
100% |
66 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_group_chats_with_messages_before_join |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_invite_to_dm |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_sole_admin_leaves |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_search_messages |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_search_messages_left_joined |
|
100% |
34 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_admin_behaviour |
|
100% |
71 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_add_remove_admin_failures |
|
100% |
51 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_last_seen |
|
100% |
36 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_one_dm_per_pair |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_GetDirectMessage |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_total_unseen |
|
100% |
39 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_regression_ListGroupChats_pagination |
|
100% |
22 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_muting |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_archiving |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_archiving_per_user |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_archiving_with_list_group_chats |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_archiving_chat_not_found |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_archiving_after_leaving_chat |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_archiving_dm |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_archiving_idempotent |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_chat_notifications |
|
100% |
48 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_chat_notifications.send_msg |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_chat_notifications.parse_message_payload |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
test_incomplete_profile |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_conversations.py |
(no function) |
|
100% |
55 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_b64 |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_simple_crypto |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_hash_sigs |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_asym_crypto |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_stable_secure_uniform |
|
100% |
24 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_encrypt_decrypt_proto_roundtrip |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_encrypt_decrypt_proto_with_different_fields |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_decrypt_proto_wrong_key |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_decrypt_proto_invalid_data |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_decrypt_proto_invalid_encrypted_data |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_encrypt_proto_different_keys_different_output |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_create_sofa_id |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_sofa_payload_roundtrip |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_sofa_payload_invalid_data |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_sofa_payload_too_short |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_sofa_payload_tampered_sofa_id |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_sofa_payload_tampered_proto |
|
100% |
11 |
0 |
0 |
|
50% |
2 |
1 |
|
92% |
| app / backend / src / tests / test_crypto.py |
test_sofa_payload_same_id_same_output |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
test_sofa_payload_different_ids_different_output |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_crypto.py |
(no function) |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_is_valid_user_id |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_is_valid_email |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_is_valid_username |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_is_valid_name |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_parse_date |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_get_parent_node_at_location |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
pg_dump |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
sort_pg_dump_output |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_sort_pg_dump_output |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
strip_leading_whitespace |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
restore_db_after_migration_test |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_migrations |
|
100% |
17 |
0 |
0 |
|
50% |
2 |
1 |
|
95% |
| app / backend / src / tests / test_db.py |
test_migrations.message |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_slugify |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
test_database_consistency_check |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_db.py |
(no function) |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_discussions.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_discussions.py |
test_create_discussion_errors |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_discussions.py |
test_create_and_get_discussion |
|
100% |
54 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_discussions.py |
test_discussion_notifications_regression |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_discussions.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_donations.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_donations.py |
test_one_time_donation_flow |
|
100% |
38 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_donations.py |
test_recurring_donation_flow |
|
100% |
47 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_donations.py |
test_customer_portal_url |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_donations.py |
test_merch_invoice_flow |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_donations.py |
test_merch_invoice_flow_nonexistent_user |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_donations.py |
fire_stripe_event |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_donations.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_dummy_data.py |
test_add_dummy_data |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_dummy_data.py |
(no function) |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_access_by_normal_user |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_access_by_editor_user |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_access_by_superuser |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_CreateCommunity_invalid_geojson |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_UpdateCommunity_invalid_geojson |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_UpdateCommunity_invalid_id |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_UpdateCommunity |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_CreateCommunity |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_UpdateCommunity2 |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_MakeUserVolunteer |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_MakeUserVolunteer_default_values |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_MakeUserVolunteer_hide_on_team_page |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_MakeUserVolunteer_user_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_MakeUserVolunteer_already_volunteer |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_MakeUserVolunteer_invalid_date |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_UpdateVolunteer |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_UpdateVolunteer_partial_update |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_UpdateVolunteer_not_found |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_UpdateVolunteer_invalid_started_date |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_UpdateVolunteer_invalid_stopped_date |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_ListVolunteers |
|
100% |
21 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_ListVolunteers_with_past |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_ListVolunteers_ordering |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
test_ListVolunteers_empty |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_editor.py |
(no function) |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_signup_verification_email |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_report_email |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_reference_report_email_not_sent |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_reference_report_email |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_email_patching_fails |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_email_patching_fails.mock_queue_email |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_email_changed_confirmation_sent_to_new_email |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_do_not_email_security |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_do_not_email_non_security |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_do_not_email_non_security_unsublink |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_email_prefix_config |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_send_donation_email |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
test_email_deleted_users_regression |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_email.py |
(no function) |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
_get_events |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_log_event_authenticated_context |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_log_event_with_override_user_id |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_log_event_anonymous |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_log_event_complex_properties |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_log_event_empty_properties |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_log_event_multiple_events |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_signup_flow_creates_events |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_login_creates_event |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_logout_creates_event |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_host_request_created_event |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_host_request_status_change_events |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_host_request_rejected_event |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_host_request_cancelled_event |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_host_request_message_event |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_send_message_creates_event |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_create_group_chat_event |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_friendship_request_events |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_friendship_cancel_event |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_report_creates_event |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_search_creates_event |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_friend_reference_event |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_event_created_event |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_password_change_event |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
test_no_stale_events |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_event_log.py |
(no function) |
|
100% |
41 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_CreateEvent |
|
100% |
237 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_CreateEvent_incomplete_profile |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_ScheduleEvent |
|
100% |
41 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_cannot_overlap_occurrences_schedule |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_cannot_overlap_occurrences_update |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_UpdateEvent_single |
|
100% |
214 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_UpdateEvent_all |
|
100% |
44 |
0 |
0 |
|
100% |
8 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_GetEvent |
|
100% |
115 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_CancelEvent |
|
100% |
58 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_ListEventAttendees |
|
100% |
23 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_ListEventSubscribers |
|
100% |
23 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_ListEventOrganizers |
|
100% |
23 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_TransferEvent |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_SetEventSubscription |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_SetEventAttendance |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_InviteEventOrganizer |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_ListEventOccurrences |
|
100% |
20 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_ListMyEvents |
|
100% |
96 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_ListMyEvents.new_event |
|
100% |
3 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_RemoveEventOrganizer |
|
100% |
47 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_ListEventAttendees_regression |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_event_threads |
|
100% |
31 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_can_overlap_other_events_schedule_regression |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_can_overlap_other_events_update_regression |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_list_past_events_regression |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_community_invite_requests |
|
100% |
48 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_update_event_should_notify_queues_job |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_event_photo_key |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_event_created_with_shadowed_visibility |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_shadowed_event_visible_to_creator_only |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_event_visible_after_approval |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_shadowed_event_hidden_from_list_for_non_creator |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_event_create_notification_deferred_until_approval |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_event_update_notification_has_moderation_state |
|
96% |
24 |
1 |
0 |
|
50% |
2 |
1 |
|
92% |
| app / backend / src / tests / test_events.py |
test_event_cancel_notification_has_moderation_state |
|
96% |
24 |
1 |
0 |
|
50% |
2 |
1 |
|
92% |
| app / backend / src / tests / test_events.py |
test_event_reminder_notification_has_moderation_state |
|
96% |
23 |
1 |
0 |
|
50% |
2 |
1 |
|
92% |
| app / backend / src / tests / test_events.py |
test_ListEventOccurrences_does_not_leak_other_events |
|
100% |
28 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_events.py |
test_event_comment_notification_has_moderation_state |
|
96% |
25 |
1 |
0 |
|
50% |
2 |
1 |
|
93% |
| app / backend / src / tests / test_events.py |
test_event_thread_reply_notification_has_moderation_state |
|
97% |
29 |
1 |
0 |
|
75% |
4 |
1 |
|
94% |
| app / backend / src / tests / test_events.py |
(no function) |
|
100% |
57 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
create_upload |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_user_has_profile_gallery |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_GetGalleryEditInfo |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_GetGalleryEditInfo_verified_user |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_GetGalleryEditInfo_not_owner |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_GetGalleryEditInfo_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_GetGalleryEditInfo_with_photos |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_GetGallery_as_owner |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_GetGallery_as_non_owner |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_GetGallery_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_AddPhotoToGallery_success |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_AddPhotoToGallery_with_caption |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_AddPhotoToGallery_multiple_photos |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_AddPhotoToGallery_not_owner |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_AddPhotoToGallery_upload_not_owned |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_AddPhotoToGallery_max_capacity |
|
100% |
10 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_AddPhotoToGallery_duplicate_photo |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_AddPhotoToGallery_gallery_not_found |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_RemovePhotoFromGallery_success |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_RemovePhotoFromGallery_not_owner |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_RemovePhotoFromGallery_item_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_MovePhoto_to_first |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_MovePhoto_to_middle |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_MovePhoto_to_end |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_MovePhoto_noop |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_MovePhoto_not_owner |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_MovePhoto_item_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_MovePhoto_after_item_not_found |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_UpdatePhotoCaption_success |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_UpdatePhotoCaption_clear_caption |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_UpdatePhotoCaption_not_owner |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_UpdatePhotoCaption_item_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_remove_and_readd_photo |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_gallery_photo_ordering_preserved |
|
100% |
12 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_database_constraints_upload_uniqueness |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_get_avatar_upload_returns_first_by_position |
|
100% |
23 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_get_avatar_upload_no_photos |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_has_avatar_photo_expression_with_photos |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_has_avatar_photo_expression_no_photos |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_avatar_url_via_api_reflects_first_photo |
|
100% |
24 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_avatar_changes_after_reordering |
|
100% |
19 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_avatar_with_negative_positions |
|
100% |
23 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
test_avatar_with_fractional_positions |
|
100% |
23 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_galleries.py |
(no function) |
|
100% |
54 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_gis.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_gis.py |
TestGIS.test_GetUsers |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_gis.py |
TestGIS.test_GetClusteredUsers |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_gis.py |
(no function) |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
TestGroups.test_GetGroup |
|
100% |
121 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
TestGroups.test_ListAdmins |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
TestGroups.test_ListMembers |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
TestGroups.test_ListDiscussions |
|
100% |
14 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
TestGroups.test_ListUserGroups |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
TestGroups.test_ListOtherUserGroups |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
TestGroups.test_ListEvents |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
test_JoinGroup_and_LeaveGroup |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
test_LeaveGroup_regression |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_groups.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18n.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18n.py |
test_translations_loaded |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18n.py |
test_fallback_chain |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18n.py |
(no function) |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_lookup |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_substitution |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_placeholder_with_spacing |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_localized |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_fallback |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_mutual_fallback |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_plural_suffixes |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_plural_suffix_fallback |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_plural_no_count |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_load_simple_json |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_load_nested_json |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_fallback_locale |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_missing_locale |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_missing_string |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_missing_plural_form |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_extra_substitution |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_missing_substitution |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
test_missing_substitution_fallback |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_i18next.py |
(no function) |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
interceptor_dummy_api |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
_get_histogram_labels_value |
|
100% |
6 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_ok |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_ok.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_all_ignored |
|
100% |
9 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_all_ignored.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_assertion |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_assertion.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_div0 |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_div0.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_raise |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_raise.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_raise_custom |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_logging_interceptor_raise_custom.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_ok_open |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_ok_open.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_sensitive |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_sensitive.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_sensitive_ping |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_exception |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_exception.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_abort |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_abort.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
cookie_auth |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
api_auth |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_auth_interceptor |
|
100% |
105 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_auth_cookies |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_tracing_interceptor_auth_api_key |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_auth_levels |
|
100% |
35 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_auth_levels.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_auth_levels.gen_args |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_with_session_cookie |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_with_authorization_header |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_with_both_cookie_and_authorization |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_with_neither_cookie_nor_authorization |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_with_all_optional_headers |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_with_bytes_ip_address |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_with_bytes_user_agent |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_malformed_authorization |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_find_auth_level_with_valid_service |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_find_auth_level_with_nonexistent_service |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_find_auth_level_with_unknown_auth_level |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_validate_auth_level_with_unknown |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_validate_auth_level_with_open |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_validate_auth_level_with_jailed |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_validate_auth_level_with_secure |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_validate_auth_level_with_editor |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_validate_auth_level_with_admin |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_open_service_without_auth |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_open_service_with_auth |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_secure_service_without_auth |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_secure_service_with_normal_auth |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_secure_service_with_jailed_user |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_jailed_service_with_jailed_user |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_jailed_service_without_auth |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_editor_service_without_editor |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_editor_service_with_editor |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_admin_service_without_superuser |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_admin_service_with_superuser |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_check_auth_admin_service_without_auth |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_sofa_cookie_valid |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_sofa_cookie_missing |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_sofa_cookie_no_cookies |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_sofa_cookie_invalid_base64 |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_sofa_cookie_invalid_encryption |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_sofa_cookie_invalid_proto |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_generate_sofa_cookie |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_with_sofa_cookie |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_parse_headers_without_sofa_cookie |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_sofa_cookie_logged_new |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_sofa_cookie_logged_new.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_sofa_cookie_logged_existing |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_sofa_cookie_logged_existing.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_sofa_cookie_logged_invalid_generates_new |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_sofa_cookie_logged_invalid_generates_new.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_sofa_cookie_with_authenticated_user |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_sofa_cookie_persists_on_exception |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
test_sofa_cookie_persists_on_exception.TestRpc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_interceptors.py |
(no function) |
|
100% |
90 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
test_jail_basic |
|
100% |
19 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
test_JailInfo |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
test_AcceptTOS |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
test_TOS_increase |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
test_SetLocation |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
test_MarkUserNeedsLocationUpdate |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
test_AcceptCommunityGuidelines |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
test_modnotes |
|
100% |
51 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
test_modnotes_no_notify |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_jail.py |
(no function) |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_media.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_media.py |
test_media_upload |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_media.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_model_constraints.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_model_constraints.py |
test_node_constraints |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_model_constraints.py |
test_page_constraints |
|
94% |
63 |
4 |
0 |
|
100% |
0 |
0 |
|
94% |
| app / backend / src / tests / test_model_constraints.py |
test_activeness_probes_cant_have_multiple |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_model_constraints.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_models.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_models.py |
test_user_age |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_models.py |
test_user_display_joined |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_models.py |
test_user_display_last_active |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_models.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
create_test_host_request_with_moderation |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_create_moderation |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_add_to_moderation_queue |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_moderate_content |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_resolve_queue_item |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_approve_content_via_api |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_create_host_request_creates_moderation_state |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_host_request_no_notification_before_approval |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_shadowed_notification_not_in_list_notifications |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_notification_visible_after_approval |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_shadowed_host_request_visible_to_author_only |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_unlisted_host_request_not_in_lists |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_approved_host_request_in_lists_and_notifications |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_hidden_host_request_invisible_to_all |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_multiple_host_requests_listing_visibility |
|
100% |
28 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_moderation_log_tracking |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_moderation_queue_workflow |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_empty |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_with_items |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_filter_by_trigger |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_filter_created_before |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_filter_created_after |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_filter_created_before_and_after |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_filter_unresolved |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_filter_by_author |
|
100% |
34 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_ordering |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationQueue_pagination_newest_first |
|
100% |
32 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationLog |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationLog_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationState |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationState_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_GetModerationState_unspecified_type |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_ModerateContent_approve |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_ModerateContent_not_found |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_ModerateContent_hide |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_ModerateContent_shadow |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_FlagContentForReview |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_group_chat_created_with_moderation_state |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_group_chat_GetModerationState |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_group_chat_moderation_hide |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_group_chat_moderation_shadow |
|
100% |
21 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_auto_approve_moderation_queue_disabled_when_zero |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_auto_approve_moderation_queue_approves_old_items |
|
100% |
42 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_auto_approve_does_not_approve_recent_items |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_auto_approve_does_not_approve_already_approved |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_auto_approve_does_not_approve_moderator_shadowed_items |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_host_request_message_notifications_suppressed_before_approval |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_host_request_status_notifications_suppressed_before_approval |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_host_request_notifications_sent_after_approval |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_group_chat_message_notifications_suppressed_before_approval |
|
100% |
30 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
test_event_moderation_state_content |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_moderation.py |
(no function) |
|
100% |
70 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_SetNotificationSettings_preferences_respected_editable |
|
100% |
12 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_SetNotificationSettings_preferences_not_editable |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_unsubscribe |
|
94% |
33 |
2 |
0 |
|
79% |
14 |
3 |
|
89% |
| app / backend / src / tests / test_notifications.py |
test_unsubscribe_do_not_email |
|
97% |
34 |
1 |
0 |
|
83% |
6 |
1 |
|
95% |
| app / backend / src / tests / test_notifications.py |
test_get_do_not_email |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_set_do_not_email |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_list_notifications |
|
100% |
37 |
0 |
0 |
|
83% |
6 |
1 |
|
98% |
| app / backend / src / tests / test_notifications.py |
test_notifications_seen |
|
100% |
41 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_GetVapidPublicKey |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_RegisterPushNotificationSubscription |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_SendTestPushNotification |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_SendBlogPostNotification |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_get_topic_actions_by_delivery_type |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_event_reminder_email_sent |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_RegisterMobilePushNotificationSubscription |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_RegisterMobilePushNotificationSubscription_android |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_RegisterMobilePushNotificationSubscription_no_device_type |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_RegisterMobilePushNotificationSubscription_re_enable |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_RegisterMobilePushNotificationSubscription_already_exists |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_SendTestMobilePushNotification |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_get_expo_push_receipts |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_get_expo_push_receipts_empty |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_check_expo_push_receipts_success |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_check_expo_push_receipts_device_not_registered |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_check_expo_push_receipts_not_found |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_check_expo_push_receipts_skips_already_checked |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_SendDevPushNotification_success |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_SendDevPushNotification_minimal |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_SendDevPushNotification_disabled |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_SendDevPushNotification_push_notifications_disabled |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_check_expo_push_receipts_skips_too_recent |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_check_expo_push_receipts_batch |
|
100% |
27 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_DebugRedeliverPushNotification_success |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_DebugRedeliverPushNotification_not_found |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_DebugRedeliverPushNotification_wrong_user |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_DebugRedeliverPushNotification_disabled |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
test_DebugRedeliverPushNotification_push_notifications_disabled |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_notifications.py |
(no function) |
|
100% |
65 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_create_place_errors |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_create_guide_errors |
|
100% |
33 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_create_page_place |
|
100% |
23 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_create_page_guide |
|
100% |
42 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_get_page |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_update_page |
|
100% |
96 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_owner_not_moderator |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_update_page_errors |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_page_transfer |
|
100% |
122 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_page_photo |
|
100% |
29 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_list_user_places |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_list_other_user_places |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_list_user_guides |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
test_list_other_user_guides |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_pages.py |
(no function) |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
_monkeypatch_postal_verification_config |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_generate_postal_verification_code |
|
100% |
7 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_disabled |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_happy_path |
|
100% |
43 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_wrong_code |
|
100% |
22 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_code_expiry |
|
100% |
19 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_rate_limit |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_already_in_progress |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_cancel |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_can_cancel_after_postcard_sent |
|
100% |
20 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_list_attempts |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_address_validation |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_postcard_send_failure |
|
100% |
14 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_code_case_insensitive |
|
100% |
18 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_attempt_not_found |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_postal_verification_other_user_attempt |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
test_has_postal_verification_helper |
|
100% |
22 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_postal_verification.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetPublicMapLayer |
|
100% |
23 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetDonationStats_empty |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetDonationStats_with_donations |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetDonationStats_excludes_merch |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetDonationStats_excludes_previous_years |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetVolunteers_mixed_current_and_past |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetVolunteers_custom_sort_key |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetVolunteers_excludes_hidden |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetVolunteers_link_types |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetVolunteers_board_member_flag |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetSignupPageInfo |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetSignupPageInfo_excludes_invisible_users |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetPublicUser_not_found |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetPublicUser_invisible_user |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetPublicUser_limited_visibility |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetPublicUser_most_visibility |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
test_GetPublicUser_full_visibility |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_public.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
create_host_request |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
create_host_request_by_date |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
create_host_reference |
|
100% |
18 |
0 |
0 |
|
100% |
6 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
create_friend_reference |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_ListPagination |
|
100% |
66 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_ListReference_banned_deleted_users |
|
100% |
27 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_WriteFriendReference |
|
100% |
32 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_WriteFriendReference_with_empty_text |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_WriteFriendReference_with_private_text |
|
100% |
15 |
0 |
0 |
|
0% |
2 |
2 |
|
88% |
| app / backend / src / tests / test_references.py |
test_WriteFriendReference_requires_friendship |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_host_request_states_references |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_WriteHostRequestReference |
|
100% |
45 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_WriteHostRequestReference_private_text |
|
100% |
16 |
0 |
0 |
|
0% |
2 |
2 |
|
89% |
| app / backend / src / tests / test_references.py |
test_GetHostRequestReferenceStatus |
|
100% |
51 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_AvailableWriteReferences_and_ListPendingReferencesToWrite |
|
100% |
124 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
test_regression_disappearing_refs |
|
100% |
82 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_references.py |
(no function) |
|
100% |
36 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_reporting.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_reporting.py |
test_reporting |
|
100% |
19 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_reporting.py |
(no function) |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
valid_request_text |
|
80% |
5 |
1 |
0 |
|
50% |
2 |
1 |
|
71% |
| app / backend / src / tests / test_requests.py |
test_create_request |
|
100% |
63 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_create_request_incomplete_profile |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_excessive_requests_are_reported |
|
100% |
29 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
add_message |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_GetHostRequest |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_ListHostRequests |
|
100% |
41 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_ListHostRequests_pagination_regression |
|
100% |
42 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_ListHostRequests_active_filter |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_RespondHostRequests |
|
100% |
55 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_get_host_request_messages |
|
100% |
37 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_SendHostRequestMessage |
|
100% |
39 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_get_updates |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_archive_host_request |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_mark_last_seen |
|
100% |
42 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_response_rate |
|
100% |
92 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_request_notifications |
|
100% |
48 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
test_quick_decline |
|
98% |
45 |
1 |
0 |
|
67% |
6 |
2 |
|
94% |
| app / backend / src / tests / test_requests.py |
test_host_req_feedback |
|
100% |
45 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_requests.py |
(no function) |
|
100% |
41 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_resources.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_resources.py |
test_GetTermsOfService |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_resources.py |
test_GetCommunityGuidelines |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_resources.py |
test_GetRegions |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_resources.py |
test_GetLanguages |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_resources.py |
test_GetBadges |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_resources.py |
(no function) |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_none_input |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_empty_message |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_message_with_no_sensitive_fields |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_message_with_sensitive_field |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_message_with_nested_message_non_repeated |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_message_with_empty_nested_message |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_message_with_empty_repeated_field |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_message_with_repeated_messages |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_deeply_nested_messages |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_multiple_nested_messages_with_sensitive_fields |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_message_preserves_original |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_message_with_non_message_type_fields |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
TestSanitizedBytes.test_complex_nested_structure |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_sanitized_bytes.py |
(no function) |
|
100% |
17 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_Search |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_UserSearch |
|
100% |
10 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_regression_search_in_area |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_user_search_in_rectangle |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_user_filter_complete_profile |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_user_filter_meetup_status |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_user_filter_language |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_user_filter_strong_verification |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_regression_search_only_with_references |
|
100% |
20 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_user_search_exactly_user_ids |
|
100% |
24 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
sample_event_data |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
create_event |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
create_event._create_event |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
sample_community |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_EventSearch_no_filters |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_event_search_by_query |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_event_search_by_time |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_event_search_by_circle |
|
100% |
12 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_event_search_by_rectangle |
|
100% |
12 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_event_search_pagination |
|
100% |
22 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_event_search_pagination_with_page_number |
|
100% |
21 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_event_search_online_status |
|
100% |
12 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_event_search_filter_subscription_attendance_organizing_my_communities |
|
100% |
32 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_regression_search_multiple_pages |
|
100% |
11 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_regression_search_no_results |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_user_filter_same_gender_only |
|
100% |
59 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
test_user_filter_same_gender_only_with_other_filters |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_search.py |
(no function) |
|
100% |
46 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
_emulate_iris_callback |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
do_and_check_sv |
|
98% |
53 |
1 |
0 |
|
88% |
8 |
1 |
|
97% |
| app / backend / src / tests / test_strong_verification.py |
monkeypatch_sv_config |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
test_strong_verification_happy_path |
|
100% |
113 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
test_strong_verification_delete_data |
|
100% |
22 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
test_strong_verification_expiry |
|
100% |
30 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
test_strong_verification_regression |
|
100% |
5 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
test_strong_verification_regression2 |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
test_strong_verification_disabled |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
test_strong_verification_delete_data_cant_reverify |
|
100% |
39 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
test_strong_verification_duplicate_other_user |
|
100% |
37 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
test_strong_verification_non_passport |
|
100% |
17 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_strong_verification.py |
(no function) |
|
100% |
38 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
_render_en_utc |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_multiline |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_quotelines |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_html_escaping |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_safe_html |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_date_formatting |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
_greeting_i18next |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
_i18next_from_dict |
|
0% |
5 |
5 |
0 |
|
0% |
2 |
0 |
|
0% |
| app / backend / src / tests / test_templating.py |
test_translate_no_substitutions |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_translate_multiple_languages |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_translate_with_substitutions |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_translate_substitution_escaping |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_translate_substitution_safe_html |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_translate_translation_tags |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_translate_newlines_br |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_translate_plain_strip_tags |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_translate_plain_strip_links |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
test_translate_plain_strip_mailto |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_templating.py |
(no function) |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_threads.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_threads.py |
test_threads_basic |
|
100% |
35 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_threads.py |
test_threads_errors |
|
100% |
26 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_threads.py |
pagination_test |
|
100% |
9 |
0 |
0 |
|
100% |
4 |
0 |
|
100% |
| app / backend / src / tests / test_threads.py |
test_threads_pagination |
|
100% |
7 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_threads.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_utils.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_utils.py |
test_page_token_time_python |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_utils.py |
test_page_token_time_db |
|
100% |
8 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_utils.py |
test_http_date_with_datetime |
|
100% |
3 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_utils.py |
test_http_date_without_datetime |
|
100% |
4 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_utils.py |
test_wrap_coordinate |
|
100% |
4 |
0 |
0 |
|
100% |
2 |
0 |
|
100% |
| app / backend / src / tests / test_utils.py |
(no function) |
|
100% |
16 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
_ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_ChangePhone |
|
100% |
38 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_ChangePhone.deny_operator |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_ChangePhone.succeed |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_ChangePhone_ratelimit |
|
100% |
14 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_ChangePhone_ratelimit.succeed |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_VerifyPhone |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_VerifyPhone_antibrute |
|
100% |
8 |
0 |
0 |
|
75% |
4 |
1 |
|
92% |
| app / backend / src / tests / test_verification.py |
test_phone_uniqueness |
|
100% |
28 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_phone_uniqueness.succeed |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_send_sms |
|
100% |
18 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_send_sms_disabled |
|
100% |
2 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
test_sms_verification_no_donation |
|
100% |
6 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_verification.py |
(no function) |
|
100% |
25 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_visible_users.py |
_FakeContext.__init__ |
|
100% |
1 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_visible_users.py |
test_is_visible_property |
|
100% |
11 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_visible_users.py |
test_select_dot_where_users_visible |
|
100% |
9 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_visible_users.py |
test_select_dot_where_users_column_visible |
|
100% |
15 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |
| app / backend / src / tests / test_visible_users.py |
(no function) |
|
100% |
13 |
0 |
0 |
|
100% |
0 |
0 |
|
100% |