Coverage report: 74%
Files Functions Classes
coverage.py v7.15.2, created at 2026-10-07 06:14 +0000
| Statements | Branches | Total | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| File | coverage | statements | missing | excluded | coverage | branches | partial | coverage | |||
| api/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/admin/__init__.py | 100% | 15 | 0 | 0 | 100% | 2 | 0 | 100% | |||
| api/admin/media_report.py | 35% | 493 | 319 | 0 | 2% | 92 | 2 | 30% | |||
| api/admin/oauth.py | 96% | 28 | 1 | 0 | 100% | 0 | 0 | 96% | |||
| api/admin/site.py | 19% | 32 | 26 | 0 | 0% | 16 | 0 | 12% | |||
| api/admin/user.py | 71% | 38 | 11 | 0 | 100% | 0 | 0 | 71% | |||
| api/apps.py | 100% | 5 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/constants/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/constants/field_order.py | 100% | 2 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/constants/field_values.py | 100% | 5 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/constants/licenses.py | 100% | 7 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/constants/media_types.py | 100% | 8 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/constants/moderation.py | 49% | 35 | 18 | 0 | 0% | 14 | 0 | 35% | |||
| api/constants/parameters.py | 100% | 2 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/constants/restricted_features.py | 97% | 30 | 1 | 0 | 75% | 4 | 1 | 94% | |||
| api/constants/search.py | 100% | 4 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/constants/sensitivity.py | 100% | 3 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/constants/sorting.py | 100% | 6 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/controllers/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/controllers/elasticsearch/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/controllers/elasticsearch/helpers.py | 85% | 71 | 11 | 0 | 72% | 18 | 5 | 82% | |||
| api/controllers/elasticsearch/related.py | 88% | 33 | 4 | 0 | 50% | 10 | 3 | 79% | |||
| api/controllers/search_controller.py | 84% | 219 | 35 | 0 | 73% | 82 | 12 | 81% | |||
| api/docs/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/docs/audio_docs.py | 100% | 18 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/docs/base_docs.py | 98% | 80 | 2 | 0 | 91% | 22 | 2 | 96% | |||
| api/docs/image_docs.py | 100% | 19 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/docs/oauth2_docs.py | 100% | 7 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/examples/__init__.py | 100% | 8 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/examples/audio_requests.py | 100% | 11 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/examples/audio_responses.py | 100% | 13 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/examples/environment.py | 100% | 5 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/examples/image_requests.py | 100% | 11 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/examples/image_responses.py | 100% | 12 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/examples/oauth2_requests.py | 100% | 5 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/examples/oauth2_responses.py | 100% | 3 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/models/__init__.py | 100% | 7 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/models/audio.py | 83% | 124 | 21 | 0 | 50% | 4 | 0 | 82% | |||
| api/models/base.py | 70% | 10 | 3 | 0 | 0% | 2 | 0 | 58% | |||
| api/models/image.py | 91% | 55 | 5 | 0 | 100% | 0 | 0 | 91% | |||
| api/models/media.py | 70% | 200 | 60 | 0 | 14% | 14 | 2 | 66% | |||
| api/models/mixins.py | 91% | 34 | 3 | 0 | 100% | 0 | 0 | 91% | |||
| api/models/models.py | 100% | 20 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/models/moderation.py | 64% | 33 | 12 | 0 | 0% | 4 | 0 | 57% | |||
| api/models/oauth.py | 100% | 18 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/serializers/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/serializers/audio_serializers.py | 98% | 61 | 1 | 0 | 88% | 8 | 1 | 97% | |||
| api/serializers/base.py | 100% | 7 | 0 | 0 | 50% | 2 | 1 | 89% | |||
| api/serializers/docs.py | 100% | 12 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/serializers/fields.py | 97% | 30 | 1 | 0 | 83% | 6 | 1 | 94% | |||
| api/serializers/image_serializers.py | 100% | 60 | 0 | 0 | 100% | 2 | 0 | 100% | |||
| api/serializers/media_serializers.py | 91% | 274 | 24 | 0 | 76% | 70 | 11 | 88% | |||
| api/serializers/oauth2_serializers.py | 100% | 34 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/serializers/source_serializers.py | 100% | 19 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/templatetags/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/templatetags/get_attr.py | 46% | 13 | 7 | 0 | 0% | 6 | 0 | 32% | |||
| api/utils/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/utils/aiohttp.py | 84% | 63 | 10 | 0 | 61% | 18 | 3 | 79% | |||
| api/utils/check_dead_links/__init__.py | 86% | 101 | 14 | 0 | 82% | 28 | 1 | 85% | |||
| api/utils/check_dead_links/provider_status_mappings.py | 100% | 7 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/utils/dead_link_mask.py | 84% | 31 | 5 | 0 | 100% | 0 | 0 | 84% | |||
| api/utils/drf_renderer.py | 50% | 10 | 5 | 0 | 100% | 0 | 0 | 50% | |||
| api/utils/exceptions.py | 100% | 7 | 0 | 0 | 100% | 2 | 0 | 100% | |||
| api/utils/help_text.py | 100% | 7 | 0 | 0 | 50% | 2 | 1 | 89% | |||
| api/utils/image_proxy/__init__.py | 82% | 118 | 21 | 0 | 43% | 14 | 4 | 78% | |||
| api/utils/image_proxy/dataclasses.py | 100% | 13 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/utils/image_proxy/exception.py | 100% | 6 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/utils/image_proxy/extension.py | 78% | 58 | 13 | 0 | 50% | 12 | 2 | 73% | |||
| api/utils/image_proxy/photon.py | 94% | 17 | 1 | 0 | 80% | 10 | 2 | 89% | |||
| api/utils/image_proxy/wikimedia.py | 39% | 18 | 11 | 0 | 0% | 6 | 0 | 29% | |||
| api/utils/moderation.py | 17% | 48 | 40 | 0 | 0% | 14 | 0 | 13% | |||
| api/utils/moderation_lock.py | 40% | 63 | 38 | 0 | 0% | 6 | 0 | 36% | |||
| api/utils/pagination.py | 100% | 22 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/utils/search_context.py | 96% | 27 | 1 | 0 | 75% | 4 | 1 | 94% | |||
| api/utils/status_code_view.py | 91% | 11 | 1 | 0 | 100% | 0 | 0 | 91% | |||
| api/utils/tallies.py | 93% | 28 | 2 | 0 | 100% | 4 | 0 | 94% | |||
| api/utils/throttle.py | 82% | 91 | 16 | 0 | 44% | 18 | 2 | 76% | |||
| api/utils/url.py | 83% | 6 | 1 | 0 | 50% | 2 | 1 | 75% | |||
| api/utils/waveform.py | 95% | 102 | 5 | 0 | 88% | 16 | 2 | 94% | |||
| api/views/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| api/views/audio_views.py | 98% | 52 | 1 | 0 | 83% | 6 | 1 | 97% | |||
| api/views/health_views.py | 75% | 32 | 8 | 0 | 17% | 6 | 1 | 66% | |||
| api/views/image_views.py | 88% | 57 | 7 | 0 | 50% | 4 | 2 | 85% | |||
| api/views/media_views.py | 91% | 150 | 14 | 0 | 64% | 14 | 3 | 88% | |||
| api/views/oauth2_views.py | 81% | 113 | 22 | 0 | 38% | 8 | 1 | 78% | |||
| conf/__init__.py | 100% | 0 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/asgi.py | 64% | 14 | 5 | 0 | 33% | 6 | 2 | 55% | |||
| conf/context_processors.py | 0% | 3 | 3 | 0 | 100% | 0 | 0 | 0% | |||
| conf/oauth2_extensions.py | 95% | 21 | 1 | 0 | 75% | 8 | 2 | 90% | |||
| conf/settings/__init__.py | 100% | 5 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/settings/auth.py | 100% | 2 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/settings/base.py | 100% | 9 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/settings/caches.py | 100% | 7 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/settings/databases.py | 100% | 2 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/settings/elasticsearch.py | 95% | 19 | 1 | 0 | 50% | 2 | 1 | 90% | |||
| conf/settings/email.py | 92% | 13 | 1 | 0 | 50% | 2 | 1 | 87% | |||
| conf/settings/i18n.py | 100% | 4 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/settings/link_validation.py | 76% | 33 | 8 | 0 | 75% | 4 | 1 | 76% | |||
| conf/settings/logging.py | 77% | 30 | 7 | 0 | 25% | 8 | 2 | 66% | |||
| conf/settings/misc.py | 100% | 9 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/settings/oauth2.py | 100% | 9 | 0 | 0 | 50% | 4 | 2 | 85% | |||
| conf/settings/openverse.py | 100% | 3 | 0 | 0 | 50% | 2 | 1 | 80% | |||
| conf/settings/rest_framework.py | 100% | 18 | 0 | 0 | 50% | 4 | 2 | 91% | |||
| conf/settings/security.py | 92% | 26 | 2 | 0 | 70% | 10 | 3 | 86% | |||
| conf/settings/sentry.py | 60% | 20 | 8 | 0 | 25% | 4 | 1 | 54% | |||
| conf/settings/signals.py | 100% | 8 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/settings/spectacular.py | 100% | 6 | 0 | 0 | 50% | 2 | 1 | 88% | |||
| conf/settings/static.py | 100% | 3 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/settings/thumbnails.py | 100% | 11 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/urls/__init__.py | 100% | 16 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/urls/auth_tokens.py | 100% | 4 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/urls/deprecations.py | 100% | 6 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| conf/urls/openapi.py | 100% | 3 | 0 | 0 | 100% | 0 | 0 | 100% | |||
| Total | 78% | 3801 | 837 | 0 | 50% | 628 | 87 | 74% | |||
No items found using the specified filter.