| 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% |