Coverage report: 93%

Files Functions Classes

coverage.py v7.13.2, created at 2026-02-03 06:18 +0000

    Statements   Branches   Total
File   coverage statements missing excluded   coverage branches partial   coverage
app / backend / src / app.py   0% 66 66 0   0% 22 0   0%
app / backend / src / couchers / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / couchers / config.py   52% 56 27 0   33% 48 4   43%
app / backend / src / couchers / constants.py   100% 46 0 0   100% 0 0   100%
app / backend / src / couchers / context.py   85% 92 14 0   62% 16 6   81%
app / backend / src / couchers / crypto.py   97% 123 4 0   75% 8 2   95%
app / backend / src / couchers / db.py   79% 117 25 0   50% 8 4   77%
app / backend / src / couchers / descriptor_pool.py   100% 15 0 0   100% 2 0   100%
app / backend / src / couchers / email / __init__.py   100% 27 0 0   100% 0 0   100%
app / backend / src / couchers / email / dev.py   100% 9 0 0   100% 0 0   100%
app / backend / src / couchers / email / send.py   100% 17 0 0   100% 0 0   100%
app / backend / src / couchers / email / smtp.py   90% 49 5 0   64% 14 5   84%
app / backend / src / couchers / experimentation.py   31% 65 45 2   9% 22 2   25%
app / backend / src / couchers / helpers / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / couchers / helpers / badges.py   100% 23 0 0   100% 2 0   100%
app / backend / src / couchers / helpers / clusters.py   96% 28 1 0   50% 2 1   93%
app / backend / src / couchers / helpers / completed_profile.py   100% 12 0 0   100% 2 0   100%
app / backend / src / couchers / helpers / geoip.py   24% 41 31 0   10% 10 1   22%
app / backend / src / couchers / helpers / postal_verification.py   100% 12 0 0   100% 0 0   100%
app / backend / src / couchers / helpers / strong_verification.py   100% 27 0 0   100% 8 0   100%
app / backend / src / couchers / i18n / __init__.py   100% 2 0 0   100% 0 0   100%
app / backend / src / couchers / i18n / context.py   97% 34 1 0   50% 4 2   92%
app / backend / src / couchers / i18n / i18next.py   92% 103 8 0   84% 44 5   90%
app / backend / src / couchers / i18n / locales.py   97% 29 1 0   92% 12 1   95%
app / backend / src / couchers / i18n / localize.py   100% 34 0 0   50% 4 2   95%
app / backend / src / couchers / i18n / plurals.py   54% 110 51 0   7% 28 0   44%
app / backend / src / couchers / interceptors.py   87% 262 33 4   80% 80 12   86%
app / backend / src / couchers / jobs / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / couchers / jobs / definitions.py   100% 24 0 6   100% 0 0   100%
app / backend / src / couchers / jobs / enqueue.py   92% 13 1 0   75% 4 1   88%
app / backend / src / couchers / jobs / handlers.py   92% 462 39 0   75% 132 23   88%
app / backend / src / couchers / jobs / worker.py   80% 101 20 0   92% 12 1   81%
app / backend / src / couchers / materialized_views.py   99% 82 1 0   100% 6 0   99%
app / backend / src / couchers / metrics.py   100% 105 0 0   100% 2 0   100%
app / backend / src / couchers / migrations / env.py   60% 40 16 0   17% 12 2   50%
app / backend / src / couchers / models / __init__.py   100% 20 0 0   100% 0 0   100%
app / backend / src / couchers / models / activeness_probe.py   100% 25 0 2   100% 0 0   100%
app / backend / src / couchers / models / auth.py   96% 50 2 2   100% 0 0   96%
app / backend / src / couchers / models / background_jobs.py   100% 31 0 0   100% 0 0   100%
app / backend / src / couchers / models / base.py   100% 11 0 0   100% 0 0   100%
app / backend / src / couchers / models / clusters.py   98% 118 2 2   100% 0 0   98%
app / backend / src / couchers / models / conversations.py   95% 87 4 2   100% 4 0   96%
app / backend / src / couchers / models / discussions.py   100% 60 0 2   100% 0 0   100%
app / backend / src / couchers / models / donations.py   100% 32 0 2   100% 0 0   100%
app / backend / src / couchers / models / events.py   100% 124 0 2   100% 0 0   100%
app / backend / src / couchers / models / host_requests.py   97% 72 2 4   100% 0 0   97%
app / backend / src / couchers / models / logging.py   100% 26 0 0   100% 0 0   100%
app / backend / src / couchers / models / mod_note.py   95% 22 1 2   100% 0 0   95%
app / backend / src / couchers / models / moderation.py   95% 62 3 2   100% 0 0   95%
app / backend / src / couchers / models / notifications.py   99% 166 2 2   100% 0 0   99%
app / backend / src / couchers / models / postal_verification.py   98% 42 1 2   100% 0 0   98%
app / backend / src / couchers / models / rest.py   99% 248 1 2   100% 0 0   99%
app / backend / src / couchers / models / static.py   100% 18 0 0   100% 0 0   100%
app / backend / src / couchers / models / uploads.py   100% 59 0 2   100% 0 0   100%
app / backend / src / couchers / models / users.py   100% 226 0 4   100% 0 0   100%
app / backend / src / couchers / models / verification.py   100% 73 0 2   100% 0 0   100%
app / backend / src / couchers / moderation / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / couchers / moderation / utils.py   100% 13 0 0   100% 0 0   100%
app / backend / src / couchers / notifications / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / couchers / notifications / background.py   79% 94 20 0   67% 30 4   76%
app / backend / src / couchers / notifications / expo_api.py   38% 39 24 0   38% 8 1   38%
app / backend / src / couchers / notifications / notify.py   100% 16 0 0   100% 0 0   100%
app / backend / src / couchers / notifications / push.py   97% 36 1 0   50% 2 1   95%
app / backend / src / couchers / notifications / quick_links.py   80% 65 13 0   50% 14 3   75%
app / backend / src / couchers / notifications / render_email.py   87% 238 32 0   77% 130 18   83%
app / backend / src / couchers / notifications / render_push.py   86% 296 40 0   83% 132 18   86%
app / backend / src / couchers / notifications / send_raw_push_notification.py   31% 93 64 0   0% 26 0   24%
app / backend / src / couchers / notifications / settings.py   93% 61 4 0   92% 24 0   93%
app / backend / src / couchers / notifications / utils.py   100% 2 0 0   100% 0 0   100%
app / backend / src / couchers / notifications / web_push_api.py   57% 37 16 0   100% 0 0   57%
app / backend / src / couchers / phone / check.py   88% 8 1 0   50% 2 1   80%
app / backend / src / couchers / phone / sms.py   100% 27 0 0   100% 2 0   100%
app / backend / src / couchers / postal / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / couchers / postal / address_validation.py   100% 7 0 0   100% 0 0   100%
app / backend / src / couchers / postal / postcard_service.py   86% 7 1 0   100% 0 0   86%
app / backend / src / couchers / rate_limits / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / couchers / rate_limits / check.py   100% 30 0 0   100% 8 0   100%
app / backend / src / couchers / rate_limits / definitions.py   100% 18 0 0   100% 0 0   100%
app / backend / src / couchers / reranker.py   90% 20 2 0   83% 12 2   88%
app / backend / src / couchers / resources.py   94% 70 4 0   62% 8 1   91%
app / backend / src / couchers / server.py   100% 72 0 0   100% 0 0   100%
app / backend / src / couchers / servicers / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / couchers / servicers / account.py   94% 317 19 0   82% 90 14   91%
app / backend / src / couchers / servicers / admin.py   70% 362 108 0   45% 150 29   63%
app / backend / src / couchers / servicers / api.py   98% 452 11 0   96% 260 11   97%
app / backend / src / couchers / servicers / auth.py   88% 302 36 0   76% 104 13   85%
app / backend / src / couchers / servicers / blocking.py   95% 44 2 0   83% 12 2   93%
app / backend / src / couchers / servicers / bugs.py   96% 46 2 0   100% 6 0   96%
app / backend / src / couchers / servicers / communities.py   84% 200 33 0   63% 60 18   79%
app / backend / src / couchers / servicers / conversations.py   92% 309 26 0   80% 128 26   88%
app / backend / src / couchers / servicers / discussions.py   91% 65 6 0   71% 24 7   85%
app / backend / src / couchers / servicers / donations.py   96% 71 3 0   78% 18 4   92%
app / backend / src / couchers / servicers / editor.py   97% 141 4 0   87% 54 7   94%
app / backend / src / couchers / servicers / events.py   84% 522 82 0   72% 232 55   81%
app / backend / src / couchers / servicers / galleries.py   96% 108 4 0   89% 46 5   94%
app / backend / src / couchers / servicers / gis.py   81% 37 7 0   100% 0 0   81%
app / backend / src / couchers / servicers / groups.py   80% 113 23 0   50% 24 8   74%
app / backend / src / couchers / servicers / jail.py   97% 69 2 0   90% 20 2   96%
app / backend / src / couchers / servicers / media.py   96% 24 1 0   50% 2 1   92%
app / backend / src / couchers / servicers / moderation.py   84% 153 24 0   76% 54 7   82%
app / backend / src / couchers / servicers / notifications.py   94% 129 8 0   75% 36 9   90%
app / backend / src / couchers / servicers / pages.py   94% 158 9 0   88% 76 9   92%
app / backend / src / couchers / servicers / postal_verification.py   94% 124 7 0   86% 44 6   92%
app / backend / src / couchers / servicers / public.py   95% 75 4 0   71% 14 2   91%
app / backend / src / couchers / servicers / references.py   98% 169 4 0   90% 48 5   96%
app / backend / src / couchers / servicers / reporting.py   100% 19 0 0   100% 2 0   100%
app / backend / src / couchers / servicers / requests.py   93% 286 19 0   84% 122 17   91%
app / backend / src / couchers / servicers / resources.py   100% 19 0 0   100% 0 0   100%
app / backend / src / couchers / servicers / search.py   88% 280 34 0   73% 128 28   83%
app / backend / src / couchers / servicers / threads.py   93% 126 9 0   79% 48 10   89%
app / backend / src / couchers / sql.py   98% 65 1 5   85% 20 3   95%
app / backend / src / couchers / tasks.py   96% 73 3 0   83% 18 3   93%
app / backend / src / couchers / templating.py   94% 126 7 0   73% 30 8   90%
app / backend / src / couchers / tracing.py   58% 19 8 0   0% 2 0   52%
app / backend / src / couchers / urls.py   92% 74 6 0   50% 2 1   91%
app / backend / src / couchers / utils.py   96% 185 7 8   86% 44 6   94%
app / backend / src / run_locally.py   0% 31 31 0   0% 10 0   0%
app / backend / src / tests / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / tests / conftest.py   99% 151 1 2   80% 10 2   98%
app / backend / src / tests / fixtures / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / tests / fixtures / db.py   97% 122 4 0   100% 20 0   97%
app / backend / src / tests / fixtures / misc.py   100% 56 0 0   100% 6 0   100%
app / backend / src / tests / fixtures / sessions.py   99% 279 1 0   100% 2 0   99%
app / backend / src / tests / pytest_split / __init__.py   100% 0 0 0   100% 0 0   100%
app / backend / src / tests / pytest_split / algorithms.py   78% 83 18 2   50% 20 2   73%
app / backend / src / tests / pytest_split / plugin.py   68% 85 27 7   40% 30 6   61%
app / backend / src / tests / test_account.py   100% 697 0 0   100% 2 0   100%
app / backend / src / tests / test_activeness_probes.py   100% 102 0 0   100% 0 0   100%
app / backend / src / tests / test_admin.py   100% 504 0 0   100% 0 0   100%
app / backend / src / tests / test_api.py   100% 1112 0 0   100% 6 0   100%
app / backend / src / tests / test_app.py   100% 12 0 0   100% 0 0   100%
app / backend / src / tests / test_auth.py   100% 598 0 0   100% 0 0   100%
app / backend / src / tests / test_bg_jobs.py   99% 687 5 0   95% 20 1   99%
app / backend / src / tests / test_blocking.py   100% 178 0 0   100% 0 0   100%
app / backend / src / tests / test_bugs.py   100% 84 0 0   25% 8 6   93%
app / backend / src / tests / test_communities.py   100% 675 0 0   100% 18 0   100%
app / backend / src / tests / test_conversations.py   100% 1228 0 0   100% 34 0   100%
app / backend / src / tests / test_crypto.py   100% 129 0 0   75% 4 1   99%
app / backend / src / tests / test_db.py   100% 139 0 0   50% 2 1   99%
app / backend / src / tests / test_discussions.py   100% 119 0 0   100% 0 0   100%
app / backend / src / tests / test_donations.py   100% 157 0 0   100% 0 0   100%
app / backend / src / tests / test_dummy_data.py   100% 8 0 0   100% 0 0   100%
app / backend / src / tests / test_editor.py   100% 293 0 0   100% 2 0   100%
app / backend / src / tests / test_email.py   100% 253 0 0   100% 0 0   100%
app / backend / src / tests / test_events.py   100% 1230 0 0   100% 22 0   100%
app / backend / src / tests / test_galleries.py   100% 508 0 0   100% 26 0   100%
app / backend / src / tests / test_gis.py   100% 33 0 0   100% 0 0   100%
app / backend / src / tests / test_groups.py   100% 255 0 0   100% 4 0   100%
app / backend / src / tests / test_i18n.py   100% 20 0 0   100% 0 0   100%
app / backend / src / tests / test_i18next.py   100% 118 0 0   100% 0 0   100%
app / backend / src / tests / test_interceptors.py   100% 584 0 0   100% 8 0   100%
app / backend / src / tests / test_jail.py   100% 237 0 0   100% 4 0   100%
app / backend / src / tests / test_media.py   100% 32 0 0   100% 0 0   100%
app / backend / src / tests / test_model_constraints.py   96% 102 4 0   100% 0 0   96%
app / backend / src / tests / test_models.py   100% 25 0 0   100% 0 0   100%
app / backend / src / tests / test_moderation.py   100% 992 0 0   100% 16 0   100%
app / backend / src / tests / test_notifications.py   99% 624 3 0   84% 32 5   99%
app / backend / src / tests / test_pages.py   100% 518 0 0   100% 0 0   100%
app / backend / src / tests / test_postal_verification.py   100% 297 0 0   100% 20 0   100%
app / backend / src / tests / test_public.py   100% 233 0 0   100% 4 0   100%
app / backend / src / tests / test_references.py   100% 607 0 0   67% 12 4   99%
app / backend / src / tests / test_reporting.py   100% 31 0 0   100% 0 0   100%
app / backend / src / tests / test_requests.py   99% 728 2 0   75% 12 3   99%
app / backend / src / tests / test_resources.py   100% 53 0 0   100% 0 0   100%
app / backend / src / tests / test_sanitized_bytes.py   100% 116 0 0   100% 0 0   100%
app / backend / src / tests / test_search.py   100% 430 0 0   100% 14 0   100%
app / backend / src / tests / test_strong_verification.py   99% 381 1 0   93% 14 1   99%
app / backend / src / tests / test_templating.py   95% 98 5 0   0% 2 0   93%
app / backend / src / tests / test_threads.py   100% 94 0 0   100% 4 0   100%
app / backend / src / tests / test_utils.py   100% 38 0 0   100% 2 0   100%
app / backend / src / tests / test_verification.py   100% 164 0 0   75% 4 1   99%
app / backend / src / tests / test_visible_users.py   100% 49 0 0   100% 0 0   100%
Total   95% 26688 1250 72   75% 3218 472   93%

No items found using the specified filter.