Coverage report: 85%

Files Functions Classes

coverage.py v7.13.1, created at 2025-12-29 22:06 +0000

File function   statements missing excluded   coverage
cache / cache_utility.py (no function)   3 0 0   100%
tests / __init__.py (no function)   0 0 0   100%
tests / admin / __init__.py (no function)   0 0 0   100%
tests / admin / admin_endpoint_testing.py TestAdminEndpoints._log_in   7 0 0   100%
tests / admin / admin_endpoint_testing.py TestAdminEndpoints.setUp   3 0 0   100%
tests / admin / admin_endpoint_testing.py (no function)   6 0 0   100%
tests / admin / tests_update_featured_snaps.py TestUpdateFeaturedSnaps.setUp   6 0 0   100%
tests / admin / tests_update_featured_snaps.py TestUpdateFeaturedSnaps.tearDown   1 0 0   100%
tests / admin / tests_update_featured_snaps.py TestUpdateFeaturedSnaps.test_update_featured_snaps   12 0 0   100%
tests / admin / tests_update_featured_snaps.py TestUpdateFeaturedSnaps.test_update_featured_snaps_no_snaps   14 0 0   100%
tests / admin / tests_update_featured_snaps.py TestUpdateFeaturedSnaps.test_update_featured_snaps_delete_failed   12 0 0   100%
tests / admin / tests_update_featured_snaps.py TestUpdateFeaturedSnaps.test_update_featured_snaps_update_failed   13 0 0   100%
tests / admin / tests_update_featured_snaps.py (no function)   9 0 0   100%
tests / api / __init__.py (no function)   0 0 0   100%
tests / api / test_github.py GitHubTest._get_vcr_kwargs   1 0 0   100%
tests / api / test_github.py GitHubTest.setUp   2 0 0   100%
tests / api / test_github.py GitHubTest.test_get_user   6 0 0   100%
tests / api / test_github.py GitHubTest.test_get_user_repositories   4 0 0   100%
tests / api / test_github.py GitHubTest.test_get_org_repositories   4 0 0   100%
tests / api / test_github.py GitHubTest.test_get_orgs   3 0 0   100%
tests / api / test_github.py GitHubTest.test_check_permissions_over_repo   4 0 0   100%
tests / api / test_github.py GitHubTest.test_get_snapcraft_yaml_location   10 0 0   100%
tests / api / test_github.py GitHubTest.test_get_snapcraft_yaml_data   4 0 0   100%
tests / api / test_github.py (no function)   14 0 0   100%
tests / api / test_marketo_api.py Marketo.test_auth   11 0 0   100%
tests / api / test_marketo_api.py Marketo.test_get_user   7 0 0   100%
tests / api / test_marketo_api.py Marketo.test_get_newsletter_subscription   7 0 0   100%
tests / api / test_marketo_api.py Marketo.test_get_newsletter_subscription_bad_response   7 0 0   100%
tests / api / test_marketo_api.py Marketo.test_set_newsletter_subscription   6 0 0   100%
tests / api / test_marketo_api.py Marketo.test_token_refresh   11 0 0   100%
tests / api / test_marketo_api.py (no function)   18 0 0   100%
tests / docs / __init__.py (no function)   0 0 0   100%
tests / endpoints / __init__.py (no function)   0 0 0   100%
tests / endpoints / endpoint_testing.py TestEndpoints._log_in   7 0 0   100%
tests / endpoints / endpoint_testing.py TestEndpoints.setUp   4 0 0   100%
tests / endpoints / endpoint_testing.py TestModelServiceEndpoints.setUp   3 0 0   100%
tests / endpoints / endpoint_testing.py (no function)   9 0 0   100%
tests / endpoints / publisher / __init__.py (no function)   0 0 0   100%
tests / endpoints / publisher / tests_builds.py TestGetSnapBuildPage.setUp   4 0 0   100%
tests / endpoints / publisher / tests_builds.py TestGetSnapBuildPage.test_get_snap_build_page_success   8 0 0   100%
tests / endpoints / publisher / tests_builds.py TestGetSnapBuildPage.test_get_snap_build_page_requires_login   4 0 0   100%
tests / endpoints / publisher / tests_builds.py TestPostBuild.setUp   3 0 0   100%
tests / endpoints / publisher / tests_builds.py TestPostBuild.test_post_build_success   11 0 0   100%
tests / endpoints / publisher / tests_builds.py TestPostBuild.test_post_build_cancels_existing_build   11 0 0   100%
tests / endpoints / publisher / tests_builds.py TestPostBuild.test_post_build_forbidden_non_contributor   7 0 0   100%
tests / endpoints / publisher / tests_builds.py TestPostBuild.test_post_build_http_error   16 0 0   100%
tests / endpoints / publisher / tests_builds.py TestPostBuild.test_post_build_requires_login   4 0 0   100%
tests / endpoints / publisher / tests_builds.py TestPostDisconnectRepo.setUp   3 0 0   100%
tests / endpoints / publisher / tests_builds.py TestPostDisconnectRepo.test_post_disconnect_repo_requires_login   4 0 0   100%
tests / endpoints / publisher / tests_builds.py (no function)   25 0 0   100%
tests / endpoints / publisher / tests_listing.py TestGetListingData.test_get_listing_data_success   32 0 0   100%
tests / endpoints / publisher / tests_listing.py TestGetListingData.test_get_listing_data_minimal_snap_details   22 0 0   100%
tests / endpoints / publisher / tests_listing.py TestPostListingData.test_post_listing_data_success_no_changes   6 0 0   100%
tests / endpoints / publisher / tests_listing.py TestPostListingData.test_post_listing_data_success_with_metadata_changes   11 0 0   100%
tests / endpoints / publisher / tests_listing.py TestPostListingData.test_post_listing_data_success_with_image_changes   9 0 0   100%
tests / endpoints / publisher / tests_listing.py (no function)   32 0 0   100%
tests / endpoints / publisher / tests_packages.py TestGetPackageMetadata.test_get_package_metadata_success   9 0 0   100%
tests / endpoints / publisher / tests_packages.py TestGetPackageMetadata.test_get_package_metadata_not_found   6 0 0   100%
tests / endpoints / publisher / tests_packages.py (no function)   8 0 0   100%
tests / endpoints / publisher / tests_publicise.py TestGetPubliciseData.test_get_publicise_data_success_with_trending   15 0 0   100%
tests / endpoints / publisher / tests_publicise.py TestGetPubliciseData.test_get_publicise_data_success_without_trending   14 0 0   100%
tests / endpoints / publisher / tests_publicise.py TestGetPubliciseData.test_get_publicise_data_released_snap   12 0 0   100%
tests / endpoints / publisher / tests_publicise.py TestGetPubliciseData.test_get_publicise_data_private_snap   12 0 0   100%
tests / endpoints / publisher / tests_publicise.py (no function)   16 0 0   100%
tests / endpoints / publisher / tests_register.py GetRegisterNamePageNotAuth.setUp   2 0 0   100%
tests / endpoints / publisher / tests_register.py GetRegisterNamePage.setUp   3 0 0   100%
tests / endpoints / publisher / tests_register.py GetRegisterNamePage.test_register_name_logged_in   5 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNamePageNotAuth.setUp   2 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNamePage.setUp   5 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNamePage.test_post_snap_name   8 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNamePage.test_post_store   10 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNamePage.test_post_private   10 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNamePage.test_name_already_registered   7 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNamePage.test_name_reserved   7 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNamePage.test_claim_dispute   5 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNameDisputeNotAuth.setUp   2 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNameDispute.setUp   4 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNameDispute.test_post_register_name_dispute_success   8 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNameDispute.test_post_register_name_dispute_400_error   12 0 0   100%
tests / endpoints / publisher / tests_register.py PostRegisterNameDispute.test_post_register_name_dispute_409_error   13 0 0   100%
tests / endpoints / publisher / tests_register.py (no function)   34 0 0   100%
tests / endpoints / publisher / tests_settings.py TestGetSettingsData.test_get_settings_data_success   31 0 0   100%
tests / endpoints / publisher / tests_settings.py TestGetSettingsData.test_get_settings_data_no_country_codes   11 0 0   100%
tests / endpoints / publisher / tests_settings.py TestGetSettingsData.test_get_settings_data_empty_country_codes   10 0 0   100%
tests / endpoints / publisher / tests_settings.py TestGetSettingsData.test_get_settings_data_visibility_locked_true   9 0 0   100%
tests / endpoints / publisher / tests_settings.py TestPostSettingsData.test_post_settings_data_success   7 0 0   100%
tests / endpoints / publisher / tests_settings.py (no function)   19 0 0   100%
tests / endpoints / test_brand_store.py TestGetBrandStoreEndpoint.test_successful_get_brand_store   6 0 0   100%
tests / endpoints / test_brand_store.py TestGetBrandStoreEndpoint.test_failed_get_brand_store   6 0 0   100%
tests / endpoints / test_brand_store.py (no function)   10 0 0   100%
tests / endpoints / test_cve_get_by_revision.py CveHGetByRevisionTest.setUp   2 0 0   100%
tests / endpoints / test_cve_get_by_revision.py CveHGetByRevisionTest.test_get_cve_by_revision   40 0 0   100%
tests / endpoints / test_cve_get_by_revision.py CveHGetByRevisionTest.test_get_cve_by_revision_metadata_not_found   3 0 0   100%
tests / endpoints / test_cve_get_by_revision.py CveHGetByRevisionTest.test_get_cve_by_revision_file_content_not_found   3 0 0   100%
tests / endpoints / test_cve_get_by_revision.py (no function)   13 0 0   100%
tests / endpoints / tests_builds.py TestGetSnapRepo.setUp   3 0 0   100%
tests / endpoints / tests_builds.py TestGetSnapRepo.test_get_snap_repo_with_existing_lp_snap_success   20 0 0   100%
tests / endpoints / tests_builds.py TestGetSnapRepo.test_get_snap_repo_with_revoked_github_access   16 0 0   100%
tests / endpoints / tests_builds.py TestGetSnapRepo.test_get_snap_repo_without_lp_snap_authorized   16 0 0   100%
tests / endpoints / tests_builds.py TestGetSnapRepo.test_get_snap_repo_without_lp_snap_unauthorized   13 0 0   100%
tests / endpoints / tests_builds.py TestGetSnapRepo.test_get_snap_repo_uses_fallback_token_when_no_session_token   17 0 0   100%
tests / endpoints / tests_builds.py (no function)   25 0 0   100%
tests / endpoints / tests_dns_verified_status.py TestDnsVerifiedStatus.test_dns_verified_status   5 0 0   100%
tests / endpoints / tests_dns_verified_status.py TestDnsVerifiedStatus.test_dns_verified_status.dumps_wrapper   1 0 0   100%
tests / endpoints / tests_dns_verified_status.py (no function)   8 0 0   100%
tests / endpoints / tests_get_store.py TestGetStore.test_get_store   9 0 0   100%
tests / endpoints / tests_get_store.py TestGetStore.test_get_store.dumps_wrapper   1 0 0   100%
tests / endpoints / tests_get_store.py (no function)   7 0 0   100%
tests / endpoints / tests_get_stores.py TestGetStores.test_get_stores   6 0 0   100%
tests / endpoints / tests_get_stores.py (no function)   5 0 0   100%
tests / endpoints / tests_invites.py TestInvites.test_get_invites   6 0 0   100%
tests / endpoints / tests_invites.py TestInvites.test_update_invite_status   6 0 0   100%
tests / endpoints / tests_invites.py TestInvites.test_post_invite_members_success   6 0 0   100%
tests / endpoints / tests_invites.py (no function)   10 0 0   100%
tests / endpoints / tests_members.py TestGetManageMembers.test_get_manage_members_success   10 0 0   100%
tests / endpoints / tests_members.py TestPostManageMembers.test_post_manage_members_success   10 0 0   100%
tests / endpoints / tests_members.py (no function)   9 0 0   100%
tests / endpoints / tests_models.py TestCreateModel.test_create_model   6 0 0   100%
tests / endpoints / tests_models.py TestCreateModel.test_create_model_with_invalid_api_key   6 0 0   100%
tests / endpoints / tests_models.py TestCreateModel.test_name_too_long   6 0 0   100%
tests / endpoints / tests_models.py TestCreateModel.test_missing_name   6 0 0   100%
tests / endpoints / tests_models.py TestGetModels.test_get_models   5 0 0   100%
tests / endpoints / tests_models.py TestGetModels.test_store_has_no_models   7 0 0   100%
tests / endpoints / tests_models.py TestGetModels.test_invalid_store_id   6 0 0   100%
tests / endpoints / tests_models.py TestGetModels.test_unauthorized_user   6 0 0   100%
tests / endpoints / tests_models.py TestUpdateModel.test_update_model   6 0 0   100%
tests / endpoints / tests_models.py TestUpdateModel.test_update_model_with_invalid_api_key   6 0 0   100%
tests / endpoints / tests_models.py TestUpdateModel.test_model_not_found   7 0 0   100%
tests / endpoints / tests_models.py (no function)   27 0 0   100%
tests / endpoints / tests_policies.py TestGetPolicies.test_get_policies   6 0 0   100%
tests / endpoints / tests_policies.py TestGetPolicies.test_failed_get_policies   6 0 0   100%
tests / endpoints / tests_policies.py TestDeletePolicies.test_successful_delete_policy   5 0 0   100%
tests / endpoints / tests_policies.py TestDeletePolicies.test_policy_not_found   6 0 0   100%
tests / endpoints / tests_policies.py TestDeletePolicies.test_exception_in_delete_policy   6 0 0   100%
tests / endpoints / tests_policies.py TestCreatePolicies.test_create_policy   7 0 0   100%
tests / endpoints / tests_policies.py TestCreatePolicies.test_missing_signing_key   7 0 0   100%
tests / endpoints / tests_policies.py TestCreatePolicies.test_invalid_signing_key   7 0 0   100%
tests / endpoints / tests_policies.py TestCreatePolicies.test_exception_in_create_policy   8 0 0   100%
tests / endpoints / tests_policies.py (no function)   28 0 0   100%
tests / endpoints / tests_releases.py TestGetReleaseHistoryData.test_get_release_history_data_success   21 0 0   100%
tests / endpoints / tests_releases.py TestGetReleaseHistoryData.test_get_release_history_data_default_track_none   9 0 0   100%
tests / endpoints / tests_releases.py TestGetReleaseHistoryData.test_get_release_history_data_empty_snap   14 0 0   100%
tests / endpoints / tests_releases.py (no function)   12 0 0   100%
tests / endpoints / tests_settings.py TestPostSettings.test_post_settings_success   6 0 0   100%
tests / endpoints / tests_settings.py TestPostSettings.test_post_settings_with_false_private   10 0 0   100%
tests / endpoints / tests_settings.py TestPostSettings.test_post_settings_minimal_payload   10 0 0   100%
tests / endpoints / tests_settings.py (no function)   9 0 0   100%
tests / endpoints / tests_signing_keys.py TestGetSigningKeys.test_get_signing_keys   6 0 0   100%
tests / endpoints / tests_signing_keys.py TestGetSigningKeys.test_failed_get_signing_keys   6 0 0   100%
tests / endpoints / tests_signing_keys.py TestCreateSigningKeys.test_create_signing_key   6 0 0   100%
tests / endpoints / tests_signing_keys.py TestCreateSigningKeys.test_name_too_long_create_signing_key   6 0 0   100%
tests / endpoints / tests_signing_keys.py TestCreateSigningKeys.test_exception_in_create_signing_key   7 0 0   100%
tests / endpoints / tests_signing_keys.py TestDeleteSigningKeys.test_successful_delete_signing_key   5 0 0   100%
tests / endpoints / tests_signing_keys.py TestDeleteSigningKeys.test_signing_key_in_use   8 0 0   100%
tests / endpoints / tests_signing_keys.py TestDeleteSigningKeys.test_signing_key_not_found   6 0 0   100%
tests / endpoints / tests_signing_keys.py (no function)   28 0 0   100%
tests / endpoints / tests_snaps.py TestGetStoreSnaps.test_get_store_snaps_without_whitelist   8 0 0   100%
tests / endpoints / tests_snaps.py TestGetStoreSnaps.test_get_store_snaps_with_whitelist   19 0 0   100%
tests / endpoints / tests_snaps.py TestPostManageStoreSnaps.test_post_manage_store_snaps_success   7 0 0   100%
tests / endpoints / tests_snaps.py TestPostManageStoreSnaps.test_post_manage_store_snaps_with_json_string   11 0 0   100%
tests / endpoints / tests_snaps.py (no function)   14 0 0   100%
tests / endpoints / tests_snaps_search.py TestSnapsSearch.test_get_snaps_search   6 0 0   100%
tests / endpoints / tests_snaps_search.py TestSnapsSearch.test_get_snaps_search_with_query_params   6 0 0   100%
tests / endpoints / tests_snaps_search.py (no function)   7 0 0   100%
tests / endpoints / tests_validation_sets.py GetValidationSetsTest.test_get_validation_sets   5 5 0   0%
tests / endpoints / tests_validation_sets.py GetValidationSetsTest.test_get_validation_set   5 5 0   0%
tests / endpoints / tests_validation_sets.py (no function)   6 0 0   100%
tests / login / __init__.py (no function)   0 0 0   100%
tests / login / tests_login_handler.py LoginHandlerTest.setUp   2 0 0   100%
tests / login / tests_login_handler.py LoginHandlerTest.create_app   4 0 0   100%
tests / login / tests_login_handler.py LoginHandlerTest.test_redirect_user_logged_in   7 0 0   100%
tests / login / tests_login_handler.py LoginHandlerTest.test_redirect_user_logged_in_next_url   7 0 0   100%
tests / login / tests_login_handler.py LoginHandlerTest.test_login_handler_redirect   7 0 0   100%
tests / login / tests_login_handler.py LoginHandlerTest.test_login_api_500   4 0 0   100%
tests / login / tests_login_handler.py LoginHandlerTest.test_login_api_401   5 0 0   100%
tests / login / tests_login_handler.py LoginHandlerTest.test_login_connection_error   3 0 0   100%
tests / login / tests_login_handler.py AfterLoginHandlerTest.create_app   4 0 0   100%
tests / login / tests_login_handler.py AfterLoginHandlerTest.create_app._test_after_login   2 0 0   100%
tests / login / tests_login_handler.py AfterLoginHandlerTest.prepare_mock_response   8 0 0   100%
tests / login / tests_login_handler.py AfterLoginHandlerTest.test_is_canonical_true_if_email_ends_with_canonical_on_staging   6 0 0   100%
tests / login / tests_login_handler.py AfterLoginHandlerTest.test_is_canonical_true_if_member_of_team_on_production   6 0 0   100%
tests / login / tests_login_handler.py AfterLoginHandlerTest.test_is_canonical_false_if_not_member_of_team_on_production   6 0 0   100%
tests / login / tests_login_handler.py (no function)   40 0 0   100%
tests / metrics / __init__.py (no function)   0 0 0   100%
tests / metrics / tests_metrics.py OsMetricTest.test_build_os_info   4 0 0   100%
tests / metrics / tests_metrics.py (no function)   4 0 0   100%
tests / publisher / __init__.py (no function)   0 0 0   100%
tests / publisher / cve / __init__.py (no function)   0 0 0   100%
tests / publisher / cve / test_cve_filter_data.py CveFilterDataTest.setUp   1 0 0   100%
tests / publisher / cve / test_cve_filter_data.py CveFilterDataTest.test_filter_by_cvss_severity   3 0 0   100%
tests / publisher / cve / test_cve_filter_data.py CveFilterDataTest.test_filter_by_ubuntu_priority   3 0 0   100%
tests / publisher / cve / test_cve_filter_data.py CveFilterDataTest.test_filter_by_usn_id   3 0 0   100%
tests / publisher / cve / test_cve_filter_data.py CveFilterDataTest.test_filter_by_binary_name   3 0 0   100%
tests / publisher / cve / test_cve_filter_data.py CveFilterDataTest.test_filter_by_binary_status   3 0 0   100%
tests / publisher / cve / test_cve_filter_data.py CveFilterDataTest.test_filter_by_two_different_fields   3 0 0   100%
tests / publisher / cve / test_cve_filter_data.py CveFilterDataTest.test_filter_by_two_same_fields   4 0 0   100%
tests / publisher / cve / test_cve_filter_data.py CveFilterDataTest.test_no_matching_filters   2 0 0   100%
tests / publisher / cve / test_cve_filter_data.py (no function)   12 0 0   100%
tests / publisher / cve / test_cve_paginate_data.py CvePaginateDataTest.setUp   1 0 0   100%
tests / publisher / cve / test_cve_paginate_data.py CvePaginateDataTest.test_paginate_cve_list   7 0 0   100%
tests / publisher / cve / test_cve_paginate_data.py (no function)   5 0 0   100%
tests / publisher / cve / test_cve_sort_data.py CveSortDataTest.setUp   1 0 0   100%
tests / publisher / cve / test_cve_sort_data.py CveSortDataTest.test_sort_by_cvss_severity_asc   2 0 0   100%
tests / publisher / cve / test_cve_sort_data.py CveSortDataTest.test_sort_by_cvss_severity_desc   2 0 0   100%
tests / publisher / cve / test_cve_sort_data.py CveSortDataTest.test_sort_by_ubuntu_priority_asc   2 0 0   100%
tests / publisher / cve / test_cve_sort_data.py CveSortDataTest.test_sort_by_cvss_score_desc   2 0 0   100%
tests / publisher / cve / test_cve_sort_data.py CveSortDataTest.test_sort_by_unknown_field   2 0 0   100%
tests / publisher / cve / test_cve_sort_data.py (no function)   9 0 0   100%
tests / publisher / cve / test_cve_user_access.py CveUserAccessTest.test_can_snap_publisher_access_cve_data   5 0 0   100%
tests / publisher / cve / test_cve_user_access.py CveUserAccessTest.test_can_admin_access_cve_data   5 0 0   100%
tests / publisher / cve / test_cve_user_access.py CveUserAccessTest.test_can_canonical_publisher_access_cve_data_of_global_canonical_snap   6 0 0   100%
tests / publisher / cve / test_cve_user_access.py CveUserAccessTest.test_can_collaborator_access_cve_data_of_global_snap   6 0 0   100%
tests / publisher / cve / test_cve_user_access.py CveUserAccessTest.test_non_collab_publisher_user_fail_access_cve_data_of_global_snap   6 0 0   100%
tests / publisher / cve / test_cve_user_access.py CveUserAccessTest.test_non_collab_publisher_user_fail_access_cve_data_of_brand_snap   6 0 0   100%
tests / publisher / cve / test_cve_user_access.py (no function)   16 0 0   100%
tests / publisher / cve / test_has_cve.py HasRevisionsWithCvesTest.test_returns_revision_numbers   3 0 0   100%
tests / publisher / cve / test_has_cve.py HasRevisionsWithCvesTest.test_ignores_non_yaml_files   3 0 0   100%
tests / publisher / cve / test_has_cve.py HasRevisionsWithCvesTest.test_returns_empty_list_if_no_revision_files   3 0 0   100%
tests / publisher / cve / test_has_cve.py HasRevisionsWithCvesTest.test_returns_empty_list_on_not_found   3 0 0   100%
tests / publisher / cve / test_has_cve.py (no function)   13 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.BaseAppTesting.setUp   3 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.BaseAppTesting.tearDown   1 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.BaseAppTesting.create_app   4 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.BaseAppTesting._get_location   1 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.BaseAppTesting._log_in   8 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.BaseAppTesting.check_call_by_api_url   6 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedOut.setUp   2 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedOut.test_access_not_logged_in   5 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedIn.setUp   6 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedIn.test_timeout   8 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedIn.test_connection_error   8 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedIn.test_broken_json   8 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedIn.test_unknown_error   8 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedIn.test_expired_macaroon   11 0 0   100%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedInErrorHandling.test_error_4xx   9 3 0   67%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedInErrorHandling.test_custom_error   9 3 0   67%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedInErrorHandling.test_account_not_signed_agreement_logged_in   10 3 0   70%
tests / publisher / endpoint_testing.py BaseTestCases.EndpointLoggedInErrorHandling.test_account_no_username_logged_in   10 3 0   70%
tests / publisher / endpoint_testing.py (no function)   39 0 0   100%
tests / publisher / snaps / __init__.py (no function)   0 0 0   100%
tests / publisher / snaps / test_builds.py TestBuildStateMapper.test_build_state_mappings   4 0 0   100%
tests / publisher / snaps / test_builds.py TestGetBuilds.test_get_builds_includes_github_repository   12 0 0   100%
tests / publisher / snaps / test_builds.py TestGetBuilds.test_get_builds_without_github_repository   6 0 0   100%
tests / publisher / snaps / test_builds.py TestExtractGithubRepository.test_extract_valid_github_url   5 0 0   100%
tests / publisher / snaps / test_builds.py TestExtractGithubRepository.test_extract_invalid_urls   5 0 0   100%
tests / publisher / snaps / test_builds.py (no function)   14 0 0   100%
tests / publisher / snaps / test_logic.py LogicTest.test_get_snap_names_by_ownership   4 0 0   100%
tests / publisher / snaps / test_logic.py (no function)   4 0 0   100%
tests / publisher / snaps / test_post_preview.py PostPreviewPageNotAuth.setUp   3 0 0   100%
tests / publisher / snaps / test_post_preview.py PostPreviewPage.setUp   5 0 0   100%
tests / publisher / snaps / test_post_preview.py PostPreviewPage.test_renders_template   11 0 0   100%
tests / publisher / snaps / test_post_preview.py (no function)   9 0 0   100%
tests / publisher / snaps / test_release_history_json.py GetReleaseHistoryJsonNotAuth.setUp   3 0 0   100%
tests / publisher / snaps / test_release_history_json.py GetReleasesHistoryJson.setUp   5 0 0   100%
tests / publisher / snaps / test_release_history_json.py GetReleasesHistoryJson.test_get_releases   5 0 0   100%
tests / publisher / snaps / test_release_history_json.py GetReleasesHistoryJson.test_404   5 0 0   100%
tests / publisher / snaps / test_release_history_json.py GetReleasesHistoryJson.test_5XX   5 0 0   100%
tests / publisher / snaps / test_release_history_json.py (no function)   12 0 0   100%
tests / publisher / snaps / tests_get_metrics.py MetricsPageNotAuth.setUp   3 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetActiveDeviceAnnotationGetInfo.setUp   5 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetActiveDeviceMetrics.create_app   4 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetActiveDeviceMetrics.test_get_active_devices_weekly_installed_by_version   17 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetActiveDeviceMetrics.test_get_active_devices_weekly_installed_by_channel   17 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetActiveDeviceMetrics.test_get_active_devices_weekly_installed_by_os   16 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetActiveDeviceMetrics.test_get_active_devices_in_3_months_period   16 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetMetricAnnotation.create_app   4 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetMetricAnnotation.test_get_active_devices_weekly_installed_by_version   10 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetCountryMetric.create_app   4 0 0   100%
tests / publisher / snaps / tests_get_metrics.py GetCountryMetric.test_get_active_devices_weekly_installed_by_version   20 0 0   100%
tests / publisher / snaps / tests_get_metrics.py (no function)   56 0 0   100%
tests / publisher / snaps / tests_listing.py ListingPageNotAuth.setUp   3 0 0   100%
tests / publisher / snaps / tests_listing.py GetListingPage.setUp   5 0 0   100%
tests / publisher / snaps / tests_listing.py GetListingPage.test_page_not_found   6 0 0   100%
tests / publisher / snaps / tests_listing.py GetListingPage.test_account_logged_in   8 0 0   100%
tests / publisher / snaps / tests_listing.py GetListingPage.test_icon   6 0 0   100%
tests / publisher / snaps / tests_listing.py GetListingPage.test_screenshots   6 0 0   100%
tests / publisher / snaps / tests_listing.py GetListingPage.test_banner_images   6 0 0   100%
tests / publisher / snaps / tests_listing.py GetListingPage.test_videos   6 0 0   100%
tests / publisher / snaps / tests_listing.py GetListingPage.test_failed_categories_api   6 0 0   100%
tests / publisher / snaps / tests_listing.py (no function)   20 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostCloseChannelPageNotAuth.setUp   3 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostDataCloseChannelGetSnapIdPage.setUp   6 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostDataCloseChannelGetSnapIdPage.test_page_not_found   6 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostDataCloseChannelGetSnapIdPage.test_error_4xx   6 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostDataCloseChannelPage.setUp   9 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostDataCloseChannelPage.test_page_not_found   6 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostDataCloseChannelPage.test_post_no_data   3 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostDataCloseChannelPage.test_post_data   6 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostDataCloseChannelPage.test_return_error   6 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py PostDataCloseChannelPage.test_error_4xx   7 0 0   100%
tests / publisher / snaps / tests_post_close_channel.py (no function)   21 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrackNotAuth.setUp   3 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrackGetSnapId.setUp   6 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrackGetSnapId.test_page_not_found   6 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrackGetSnapId.test_error_4xx   6 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrack.setUp   9 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrack.test_page_not_found   6 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrack.test_post_no_data   3 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrack.test_post_data   6 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrack.test_return_error   6 0 0   100%
tests / publisher / snaps / tests_post_default_track.py PostDefaultTrack.test_error_4xx   7 0 0   100%
tests / publisher / snaps / tests_post_default_track.py (no function)   21 0 0   100%
tests / publisher / snaps / tests_post_listing.py PostListingPageNotAuth.setUp   3 0 0   100%
tests / publisher / snaps / tests_post_listing.py PostMetadataListingPage.setUp   7 0 0   100%
tests / publisher / snaps / tests_post_listing.py PostMetadataListingPage.test_post_no_data   2 0 0   100%
tests / publisher / snaps / tests_post_listing.py PostMetadataListingPage.test_update_invalid_field   3 0 0   100%
tests / publisher / snaps / tests_post_listing.py PostMetadataListingPage.test_update_valid_field   9 0 0   100%
tests / publisher / snaps / tests_post_listing.py PostMetadataListingPage.test_update_description_with_carriage_return   9 0 0   100%
tests / publisher / snaps / tests_post_listing.py (no function)   15 0 0   100%
tests / publisher / snaps / tests_post_release.py PostReleasePageNotAuth.setUp   3 0 0   100%
tests / publisher / snaps / tests_post_release.py PostDataReleasePage.setUp   4 0 0   100%
tests / publisher / snaps / tests_post_release.py PostDataReleasePage.test_page_not_found   9 0 0   100%
tests / publisher / snaps / tests_post_release.py PostDataReleasePage.test_post_no_data   3 0 0   100%
tests / publisher / snaps / tests_post_release.py PostDataReleasePage.test_post_data   8 0 0   100%
tests / publisher / snaps / tests_post_release.py PostDataReleasePage.test_return_error   4 0 0   100%
tests / publisher / snaps / tests_post_release.py (no function)   14 0 0   100%
tests / publisher / tests_account_logout.py LogoutRedirects.setUp   2 0 0   100%
tests / publisher / tests_account_logout.py LogoutRedirects.test_logout   7 0 0   100%
tests / publisher / tests_account_logout.py (no function)   8 0 0   100%
tests / publisher / tests_account_snaps.py AccountSnapsNotAuth.setUp   2 0 0   100%
tests / publisher / tests_account_snaps.py AccountSnapsPage.setUp   3 0 0   100%
tests / publisher / tests_account_snaps.py AccountSnapsPage.test_no_snaps   13 0 0   100%
tests / publisher / tests_account_snaps.py AccountSnapsPage.test_registered_snaps   13 0 0   100%
tests / publisher / tests_account_snaps.py AccountSnapsPage.test_uploaded_snaps   13 0 0   100%
tests / publisher / tests_account_snaps.py AccountSnapsPage.test_uploaded_snaps_with_latest_release   15 0 0   100%
tests / publisher / tests_account_snaps.py AccountSnapsPage.test_uploaded_snaps_registered_snaps   15 0 0   100%
tests / publisher / tests_account_snaps.py AccountSnapsPage.test_revoked_snaps   15 0 0   100%
tests / publisher / tests_account_snaps.py AccountSnapsPage.test_get_is_user_snap   8 0 0   100%
tests / publisher / tests_account_snaps.py (no function)   24 0 0   100%
tests / publisher / tests_account_snaps_metrics.py AccountSnapsMetricsNotAuth.setUp   2 0 0   100%
tests / publisher / tests_account_snaps_metrics.py AccountSnapsMetrics.setUp   4 0 0   100%
tests / publisher / tests_account_snaps_metrics.py AccountSnapsMetrics.test_metrics   12 0 0   100%
tests / publisher / tests_account_snaps_metrics.py AccountSnapsMetrics.test_metrics_no_payload   5 0 0   100%
tests / publisher / tests_account_snaps_metrics.py AccountSnapsMetrics.test_metrics_bad_id_payload   8 0 0   100%
tests / publisher / tests_account_snaps_metrics.py AccountSnapsMetrics.test_metrics_with_empty_data   9 0 0   100%
tests / publisher / tests_account_snaps_metrics.py (no function)   16 0 0   100%
tests / publisher / tests_agreement.py GetAgreementPage.setUp   2 0 0   100%
tests / publisher / tests_agreement.py GetAgreementPage.test_agreement_logged_in   4 0 0   100%
tests / publisher / tests_agreement.py PostAgreementPage.setUp   4 0 0   100%
tests / publisher / tests_agreement.py PostAgreementPage.test_post_agreement_on   10 0 0   100%
tests / publisher / tests_agreement.py PostAgreementPage.test_post_agreement_off   3 0 0   100%
tests / publisher / tests_agreement.py (no function)   12 0 0   100%
tests / publisher / tests_api_snaps.py AccountSnapsNotAuth.setUp   2 0 0   100%
tests / publisher / tests_api_snaps.py AccountSnapsPage.setUp   3 0 0   100%
tests / publisher / tests_api_snaps.py AccountSnapsPage.test_no_snaps   11 0 0   100%
tests / publisher / tests_api_snaps.py AccountSnapsPage.test_uploaded_snaps   11 0 0   100%
tests / publisher / tests_api_snaps.py AccountSnapsPage.test_uploaded_snaps_registered_snaps   11 0 0   100%
tests / publisher / tests_api_snaps.py AccountSnapsPage.test_revoked_snaps   11 0 0   100%
tests / publisher / tests_api_snaps.py (no function)   16 0 0   100%
tests / publisher / tests_get_package_metadata.py TestGetPackageMetadata.setUp   1 1 0   0%
tests / publisher / tests_get_package_metadata.py TestGetPackageMetadata.test_get_package_metadata   10 10 0   0%
tests / publisher / tests_get_package_metadata.py TestGetPackageMetadata.test_package_not_found   5 5 0   0%
tests / publisher / tests_get_package_metadata.py TestGetPackageMetadata.test_api_error_with_list   5 5 0   0%
tests / publisher / tests_get_package_metadata.py TestGetPackageMetadata.test_api_error   5 5 0   0%
tests / publisher / tests_get_package_metadata.py (no function)   19 0 0   100%
tests / publisher / tests_post_account_details.py PostAccountDetailsPageNotAuth.setUp   2 0 0   100%
tests / publisher / tests_post_account_details.py PostAccountDetailsPage.setUp   3 0 0   100%
tests / publisher / tests_post_account_details.py PostAccountDetailsPage.test_post_account   5 0 0   100%
tests / publisher / tests_post_account_details.py PostAccountDetailsPage.test_post_account_exception   4 0 0   100%
tests / publisher / tests_post_account_details.py (no function)   13 0 0   100%
tests / publisher / tests_publisher.py TestCache.setUp   3 0 0   100%
tests / publisher / tests_publisher.py TestCache.test_cache_disabled   7 0 0   100%
tests / publisher / tests_publisher.py PublisherPage.create_app   4 0 0   100%
tests / publisher / tests_publisher.py PublisherPage.test_account   4 0 0   100%
tests / publisher / tests_publisher.py PublisherPage._log_in   8 0 0   100%
tests / publisher / tests_publisher.py PublisherPage.test_username_not_logged_in   3 0 0   100%
tests / publisher / tests_publisher.py PublisherPage.test_account_not_logged_in   3 0 0   100%
tests / publisher / tests_publisher.py PublisherPage.test_account_redirect   4 0 0   100%
tests / publisher / tests_publisher.py PublisherPage.test_username_logged_in   4 0 0   100%
tests / publisher / tests_publisher.py PublisherPage.test_post_username_logged_in   11 0 0   100%
tests / publisher / tests_publisher.py PublisherPage.test_post_no_username_logged_in   5 0 0   100%
tests / publisher / tests_publisher.py PublisherPage.test_post_bad_username_logged_in   13 0 0   100%
tests / publisher / tests_publisher.py (no function)   28 0 0   100%
tests / publisher / tests_publisher_logic.py PublisherLogicTest.test_empty_snaps   4 0 0   100%
tests / publisher / tests_publisher_logic.py PublisherLogicTest.test_only_uploaded_snaps   5 0 0   100%
tests / publisher / tests_publisher_logic.py PublisherLogicTest.test_only_registred_snaps   5 0 0   100%
tests / publisher / tests_publisher_logic.py PublisherLogicTest.test_all_snaps   6 0 0   100%
tests / publisher / tests_publisher_logic.py PublisherLogicTest.test_snap_not_stable   3 0 0   100%
tests / publisher / tests_publisher_logic.py PublisherLogicTest.test_snap_stable_not_info   3 0 0   100%
tests / publisher / tests_publisher_logic.py PublisherLogicTest.test_snap_stable   3 0 0   100%
tests / publisher / tests_publisher_logic.py PublisherLogicTest.test_convert_date_month_year   3 0 0   100%
tests / publisher / tests_publisher_logic.py (no function)   11 0 0   100%
tests / publisher / tests_register_name_json.py PostRegisterNameJsonNotAuth.setUp   2 0 0   100%
tests / publisher / tests_register_name_json.py PostRegisterNameJson.setUp   5 0 0   100%
tests / publisher / tests_register_name_json.py PostRegisterNameJson.test_post_no_data   3 0 0   100%
tests / publisher / tests_register_name_json.py PostRegisterNameJson.test_post_snap_name   9 0 0   100%
tests / publisher / tests_register_name_json.py PostRegisterNameJson.test_name_already_registered   7 0 0   100%
tests / publisher / tests_register_name_json.py PostRegisterNameJson.test_name_already_owned   5 0 0   100%
tests / publisher / tests_register_name_json.py (no function)   14 0 0   100%
tests / publisher / tests_reserved_name_dispute.py GetRequestReservedNameNotAuth.setUp   2 0 0   100%
tests / publisher / tests_reserved_name_dispute.py GetRequestReservedName.setUp   4 0 0   100%
tests / publisher / tests_reserved_name_dispute.py GetRequestReservedName.test_request_reserved_name_logged_in   5 0 0   100%
tests / publisher / tests_reserved_name_dispute.py GetRequestReservedName.test_request_reserved_name_redirect_no_snap_name   5 0 0   100%
tests / publisher / tests_reserved_name_dispute.py (no function)   10 0 0   100%
tests / publisher / tests_username.py GetUsernamePageNotAuth.setUp   2 0 0   100%
tests / publisher / tests_username.py GetUsernamePage.setUp   2 0 0   100%
tests / publisher / tests_username.py GetUsernamePage.test_agreement_logged_in   4 0 0   100%
tests / publisher / tests_username.py PostUsernamePageNotAuth.setUp   2 0 0   100%
tests / publisher / tests_username.py PostUsernamePage.setUp   4 0 0   100%
tests / publisher / tests_username.py PostUsernamePage.test_post_username   10 0 0   100%
tests / publisher / tests_username.py PostUsernamePage.test_post_username_empty   3 0 0   100%
tests / publisher / tests_username.py PostUsernamePage.test_post_no_data   3 0 0   100%
tests / publisher / tests_username.py (no function)   18 0 0   100%
tests / snapcraft / __init__.py (no function)   0 0 0   100%
tests / snapcraft / tests_public.py StorePage.create_app   3 0 0   100%
tests / snapcraft / tests_public.py StorePage.test_index   3 0 0   100%
tests / snapcraft / tests_public.py (no function)   8 0 0   100%
tests / store / __init__.py (no function)   0 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.setUp   8 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.create_app   4 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.assert_not_in_context   5 5 0   0%
tests / store / tests_details.py GetDetailsPageTest.test_has_sboms_success   7 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_has_sboms_error   7 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_api_404   7 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_extra_details_error   9 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_api_500   7 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_api_500_no_answer   6 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_no_channel_map   5 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_user_connected   14 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_user_not_connected   9 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_user_connected_on_not_own_snap   11 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_extra_details   10 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_explore_uses_redis_cache   22 0 0   100%
tests / store / tests_details.py GetDetailsPageTest.test_explore_populates_cache_when_empty   22 0 0   100%
tests / store / tests_details.py (no function)   46 2 0   96%
tests / store / tests_distro_page.py GetDistroPageTest.setUp   5 0 0   100%
tests / store / tests_distro_page.py GetDistroPageTest.create_app   4 0 0   100%
tests / store / tests_distro_page.py GetDistroPageTest.test_api_404   7 0 0   100%
tests / store / tests_distro_page.py GetDistroPageTest.test_api_500   7 0 0   100%
tests / store / tests_distro_page.py GetDistroPageTest.test_no_distro_data   2 0 0   100%
tests / store / tests_distro_page.py GetDistroPageTest.test_get_page   6 0 0   100%
tests / store / tests_distro_page.py (no function)   15 0 0   100%
tests / store / tests_embedded_card.py GetEmbeddedCardTest.setUp   4 0 0   100%
tests / store / tests_embedded_card.py GetEmbeddedCardTest.create_app   4 0 0   100%
tests / store / tests_embedded_card.py GetEmbeddedCardTest.test_api_404   7 0 0   100%
tests / store / tests_embedded_card.py GetEmbeddedCardTest.test_api_500   7 0 0   100%
tests / store / tests_embedded_card.py GetEmbeddedCardTest.test_api_500_no_answer   6 0 0   100%
tests / store / tests_embedded_card.py GetEmbeddedCardTest.test_no_channel_map   5 0 0   100%
tests / store / tests_embedded_card.py GetEmbeddedCardTest.test_get_card   6 0 0   100%
tests / store / tests_embedded_card.py GetEmbeddedCardTest.test_get_card_default_button   5 0 0   100%
tests / store / tests_embedded_card.py GetEmbeddedCardTest.test_get_card_white_button   5 0 0   100%
tests / store / tests_embedded_card.py (no function)   22 0 0   100%
tests / store / tests_explore.py ExploreViewTest.setUp   2 0 0   100%
tests / store / tests_explore.py ExploreViewTest.test_popular_snaps   6 0 0   100%
tests / store / tests_explore.py ExploreViewTest.test_recent_snaps   6 0 0   100%
tests / store / tests_explore.py ExploreViewTest.test_trending_snaps   6 0 0   100%
tests / store / tests_explore.py (no function)   11 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.setUp   5 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.create_app   4 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.test_api_404   7 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.test_api_500   7 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.test_api_500_no_answer   6 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.test_get_badge   4 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.test_get_trending_empty   6 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.test_get_trending_is_trending   7 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.test_get_trending_preview_external   8 0 0   100%
tests / store / tests_github_badge.py GetGitHubBadgeTest.test_get_trending_preview_publisher   13 0 0   100%
tests / store / tests_github_badge.py (no function)   24 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_empty_channel_map   3 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_one_track_channel_map   4 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_multiple_track_same_arch_channel_map   4 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_multiple_track_different_arch_channel_map   4 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_lowest_available_risk   13 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_version   5 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_no_version   3 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_confinement   5 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_no_confinement   3 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_categories   5 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_video_embed_code   12 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_convert_date_more_than_yesterday   3 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_convert_date_more_today   3 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_convert_date_timezone_yesterday   3 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_snap_banner   3 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_snap_banner_no_banner   3 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_latest_versions   22 0 0   100%
tests / store / tests_public_logic.py StoreLogicTest.test_get_last_updated_versions   4 0 0   100%
tests / store / tests_public_logic.py (no function)   24 0 0   100%
tests / store / tests_publisher.py GetPublisherPageTest.setUp   2 0 0   100%
tests / store / tests_publisher.py GetPublisherPageTest.create_app   4 0 0   100%
tests / store / tests_publisher.py GetPublisherPageTest.test_community_publisher   4 0 0   100%
tests / store / tests_publisher.py GetPublisherPageTest.test_existant_publisher   4 0 0   100%
tests / store / tests_publisher.py GetPublisherPageTest.test_non_existant_publisher   4 0 0   100%
tests / store / tests_publisher.py GetPublisherPageTest.test_api_error   4 0 0   100%
tests / store / tests_publisher.py GetPublisherPageTest.test_no_snaps_from_api   4 0 0   100%
tests / store / tests_publisher.py (no function)   19 0 0   100%
tests / tests_feeds.py TestFeeds.setUp   2 0 0   100%
tests / tests_feeds.py TestFeeds.test_feeds_updates_success   22 2 0   91%
tests / tests_feeds.py (no function)   10 1 0   90%
tests / tests_helpers.py GetDnsVerificationTokenTest.test_get_dns_verification_token   4 0 0   100%
tests / tests_helpers.py (no function)   6 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_title   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_urls   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_urls_title   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_italics   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_bold   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_paragraph_merging   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_paragraph   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_text   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_triple_fences   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_single_fences   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_code_block_single_line   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_code_block_multiple_line   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_code_block_multiple_line_tree_spaces   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_code_line   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_multiple_code_line   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_list   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_list_special_char   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_list_ordered   4 0 0   100%
tests / tests_markdown_parser.py TestMarkdownParser.test_parse_image_link   4 0 0   100%
tests / tests_markdown_parser.py (no function)   22 0 0   100%
tests / tests_requests.py RequestsCacheTest.test_connection_api_error   5 0 0   100%
tests / tests_requests.py RequestsCacheTest.test_timeout_api_error   5 0 0   100%
tests / tests_requests.py (no function)   10 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_generate_slug   28 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_contains   4 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_format_number   4 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_install_snippet   2 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_install_snippet_with_classic   2 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_install_snippet_with_non_stable_risk_level   2 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_display_name   4 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_join   2 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_static_url_no_file   2 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_static_url   2 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_format_date   2 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_format_member_role   8 0 0   100%
tests / tests_templates_utils.py TemplateUtilsTest.test_format_link   83 0 0   100%
tests / tests_templates_utils.py (no function)   16 0 0   100%
webapp / __init__.py (no function)   0 0 0   100%
webapp / admin / views.py get_brand_id   2 2 0   0%
webapp / admin / views.py get_admin   1 1 0   0%
webapp / admin / views.py post_featured_snaps   22 0 0   100%
webapp / admin / views.py (no function)   24 0 0   100%
webapp / api / __init__.py (no function)   1 0 0   100%
webapp / api / exceptions.py ApiResponseError.__init__   2 0 0   100%
webapp / api / exceptions.py ApiResponseErrorList.__init__   2 2 0   0%
webapp / api / exceptions.py (no function)   12 0 0   100%
webapp / api / github.py GitHub.__init__   3 0 0   100%
webapp / api / github.py GitHub._request   11 3 0   73%
webapp / api / github.py GitHub.decompress_data   4 1 0   75%
webapp / api / github.py GitHub.get_data_from_response   10 2 0   80%
webapp / api / github.py GitHub._gql_request   11 2 0   82%
webapp / api / github.py GitHub._get_nodes   1 0 0   100%
webapp / api / github.py GitHub.get_user   2 0 0   100%
webapp / api / github.py GitHub.get_orgs   8 2 0   75%
webapp / api / github.py GitHub.get_user_repositories   9 2 0   78%
webapp / api / github.py GitHub.get_org_repositories   8 0 0   100%
webapp / api / github.py GitHub.check_permissions_over_repo   13 7 0   46%
webapp / api / github.py GitHub.check_if_repo_exists   10 10 0   0%
webapp / api / github.py GitHub.get_snapcraft_yaml_location   12 5 0   58%
webapp / api / github.py GitHub.get_default_branch   3 0 0   100%
webapp / api / github.py GitHub.get_last_commit   5 0 0   100%
webapp / api / github.py GitHub.get_snapcraft_yaml_data   19 5 0   74%
webapp / api / github.py GitHub.generate_webhook_secret_for_repo   5 5 0   0%
webapp / api / github.py GitHub.validate_webhook_signature   4 4 0   0%
webapp / api / github.py GitHub.validate_bsi_webhook_secret   5 5 0   0%
webapp / api / github.py GitHub.get_hooks   5 5 0   0%
webapp / api / github.py GitHub.get_hook_by_url   5 5 0   0%
webapp / api / github.py GitHub.update_hook_url   3 3 0   0%
webapp / api / github.py GitHub.create_hook   4 4 0   0%
webapp / api / github.py GitHub.remove_hook   2 2 0   0%
webapp / api / github.py (no function)   42 0 0   100%
webapp / api / marketo.py Marketo.__init__   2 0 0   100%
webapp / api / marketo.py Marketo._authenticate   6 0 0   100%
webapp / api / marketo.py Marketo._process_response   13 9 0   31%
webapp / api / marketo.py Marketo.request   8 0 0   100%
webapp / api / marketo.py Marketo.get_user   4 1 0   75%
webapp / api / marketo.py Marketo.get_newsletter_subscription   2 0 0   100%
webapp / api / marketo.py Marketo.set_newsletter_subscription   3 0 0   100%
webapp / api / marketo.py (no function)   15 0 0   100%
webapp / api / requests.py BaseSession.__init__   4 0 0   100%
webapp / api / requests.py BaseSession.request   6 0 0   100%
webapp / api / requests.py PublisherSession.request   1 0 0   100%
webapp / api / requests.py (no function)   13 0 0   100%
webapp / api / sso.py process_response   8 3 0   62%
webapp / api / sso.py post_macaroon   3 0 0   100%
webapp / api / sso.py get_refreshed_discharge   3 0 0   100%
webapp / api / sso.py (no function)   10 0 0   100%
webapp / app.py create_app   30 0 0   100%
webapp / app.py init_extensions   6 1 0   83%
webapp / app.py (no function)   30 0 0   100%
webapp / authentication.py get_authorization_header   2 0 0   100%
webapp / authentication.py get_publishergw_authorization_header   1 0 0   100%
webapp / authentication.py is_authenticated   1 0 0   100%
webapp / authentication.py empty_session   2 0 0   100%
webapp / authentication.py get_caveat_id   3 0 0   100%
webapp / authentication.py request_macaroon   2 0 0   100%
webapp / authentication.py get_refreshed_discharge   2 0 0   100%
webapp / authentication.py is_macaroon_expired   1 1 0   0%
webapp / authentication.py (no function)   15 0 0   100%
webapp / blog / __init__.py (no function)   0 0 0   100%
webapp / blog / views.py init_blog   12 0 0   100%
webapp / blog / views.py init_blog.snap_posts   26 26 0   0%
webapp / blog / views.py init_blog.snap_series   14 14 0   0%
webapp / blog / views.py init_blog.add_newsletter   2 2 0   0%
webapp / blog / views.py init_blog.sitemap   24 24 0   0%
webapp / blog / views.py (no function)   8 0 0   100%
webapp / config.py (no function)   29 2 0   93%
webapp / decorators.py login_required   3 0 0   100%
webapp / decorators.py login_required.is_user_logged_in   10 0 0   100%
webapp / decorators.py exchange_required   2 0 0   100%
webapp / decorators.py exchange_required.is_exchanged   5 3 0   40%
webapp / decorators.py (no function)   12 0 0   100%
webapp / docs / __init__.py (no function)   0 0 0   100%
webapp / docs / views.py init_docs   4 0 0   100%
webapp / docs / views.py (no function)   7 0 0   100%
webapp / endpoints / builds.py get_snap_repo   24 0 0   100%
webapp / endpoints / builds.py (no function)   12 0 0   100%
webapp / endpoints / cves.py can_user_access_cve_data   12 12 0   0%
webapp / endpoints / cves.py get_revisions_with_cves   7 7 0   0%
webapp / endpoints / cves.py get_cves   25 25 0   0%
webapp / endpoints / cves.py (no function)   12 0 0   100%
webapp / endpoints / invites.py get_invites   2 0 0   100%
webapp / endpoints / invites.py update_invite_status   11 5 0   55%
webapp / endpoints / invites.py post_invite_members   11 5 0   55%
webapp / endpoints / invites.py (no function)   21 0 0   100%
webapp / endpoints / members.py get_manage_members   5 0 0   100%
webapp / endpoints / members.py post_manage_members   19 13 0   32%
webapp / endpoints / members.py (no function)   17 0 0   100%
webapp / endpoints / models.py get_models   15 0 0   100%
webapp / endpoints / models.py get_policies   16 3 0   81%
webapp / endpoints / models.py create_policy   20 0 0   100%
webapp / endpoints / models.py delete_policy   13 0 0   100%
webapp / endpoints / models.py create_models   23 3 0   87%
webapp / endpoints / models.py update_model   18 2 0   89%
webapp / endpoints / models.py (no function)   32 0 0   100%
webapp / endpoints / publisher / __init__.py (no function)   0 0 0   100%
webapp / endpoints / publisher / builds.py get_snap_build_page   2 0 0   100%
webapp / endpoints / publisher / builds.py validate_repo   17 17 0   0%
webapp / endpoints / publisher / builds.py get_validate_repo   3 3 0   0%
webapp / endpoints / publisher / builds.py post_build   10 0 0   100%
webapp / endpoints / publisher / builds.py post_disconnect_repo   13 13 0   0%
webapp / endpoints / publisher / builds.py (no function)   18 0 0   100%
webapp / endpoints / publisher / listing.py get_listing_data   46 0 0   100%
webapp / endpoints / publisher / listing.py get_listing_data.format_links   5 0 0   100%
webapp / endpoints / publisher / listing.py post_listing_data   43 19 0   56%
webapp / endpoints / publisher / listing.py (no function)   16 0 0   100%
webapp / endpoints / publisher / packages.py get_package_metadata   13 8 0   38%
webapp / endpoints / publisher / packages.py (no function)   10 0 0   100%
webapp / endpoints / publisher / publicise.py get_publicise_data   9 0 0   100%
webapp / endpoints / publisher / publicise.py (no function)   10 0 0   100%
webapp / endpoints / publisher / register.py post_register_name   24 10 0   58%
webapp / endpoints / publisher / register.py post_register_name_dispute   9 0 0   100%
webapp / endpoints / publisher / register.py (no function)   12 0 0   100%
webapp / endpoints / publisher / settings.py get_settings_data   16 0 0   100%
webapp / endpoints / publisher / settings.py post_settings_data   39 27 0   31%
webapp / endpoints / publisher / settings.py (no function)   13 0 0   100%
webapp / endpoints / releases.py get_release_history_data   5 0 0   100%
webapp / endpoints / releases.py (no function)   7 0 0   100%
webapp / endpoints / settings.py post_settings   7 0 0   100%
webapp / endpoints / settings.py (no function)   12 0 0   100%
webapp / endpoints / signing_keys.py get_signing_keys_cache_key   1 1 0   0%
webapp / endpoints / signing_keys.py get_signing_keys   15 0 0   100%
webapp / endpoints / signing_keys.py create_signing_key   14 0 0   100%
webapp / endpoints / signing_keys.py delete_signing_key   28 2 0   93%
webapp / endpoints / signing_keys.py (no function)   22 0 0   100%
webapp / endpoints / snap_search.py get_snaps_search   2 0 0   100%
webapp / endpoints / snap_search.py (no function)   11 0 0   100%
webapp / endpoints / snaps.py _get_snap_link_fields   2 2 0   0%
webapp / endpoints / snaps.py dns_verified_status   19 19 0   0%
webapp / endpoints / snaps.py get_store_snaps   14 2 0   86%
webapp / endpoints / snaps.py post_manage_store_snaps   5 0 0   100%
webapp / endpoints / snaps.py (no function)   26 0 0   100%
webapp / endpoints / utils.py get_snap_info_cache_key   1 1 0   0%
webapp / endpoints / utils.py get_release_history_key   1 1 0   0%
webapp / endpoints / utils.py get_item_details_cache_key   1 1 0   0%
webapp / endpoints / utils.py (no function)   3 0 0   100%
webapp / endpoints / validation_sets.py format_validation_set   1 1 0   0%
webapp / endpoints / validation_sets.py get_validation_sets   15 15 0   0%
webapp / endpoints / validation_sets.py get_validation_set   15 15 0   0%
webapp / endpoints / validation_sets.py (no function)   14 0 0   100%
webapp / endpoints / views.py get_stores   3 0 0   100%
webapp / endpoints / views.py get_settings   7 2 0   71%
webapp / endpoints / views.py get_brand_store   13 0 0   100%
webapp / endpoints / views.py (no function)   23 0 0   100%
webapp / extensions.py (no function)   4 0 0   100%
webapp / feeds / __init__.py (no function)   0 0 0   100%
webapp / feeds / feeds.py is_safe_url   7 3 0   57%
webapp / feeds / feeds.py parse_snap_date   5 2 0   60%
webapp / feeds / feeds.py create_snap_description   22 0 0   100%
webapp / feeds / feeds.py recently_updated_feed   34 6 0   82%
webapp / feeds / feeds.py (no function)   17 0 0   100%
webapp / handlers.py refresh_redirect   10 6 0   40%
webapp / handlers.py snapcraft_utility_processor   9 0 0   100%
webapp / handlers.py set_handlers   40 0 0   100%
webapp / handlers.py set_handlers.utility_processor   1 0 0   100%
webapp / handlers.py set_handlers.internal_error   5 1 0   80%
webapp / handlers.py set_handlers.service_unavailable   1 1 0   0%
webapp / handlers.py set_handlers.handle_resource_not_found   1 0 0   100%
webapp / handlers.py set_handlers.handle_connection_timeout   2 0 0   100%
webapp / handlers.py set_handlers.store_api_error   2 0 0   100%
webapp / handlers.py set_handlers.handle_api_error_list   11 3 0   73%
webapp / handlers.py set_handlers.handle_publisher_missing_name   1 0 0   100%
webapp / handlers.py set_handlers.handle_publisher_agreement_not_signed   1 0 0   100%
webapp / handlers.py set_handlers.handle_publisher_macaroon_refresh_required   1 0 0   100%
webapp / handlers.py set_handlers.clear_trailing   5 2 0   60%
webapp / handlers.py set_handlers.calculate_sha256_base64   2 0 0   100%
webapp / handlers.py set_handlers.get_csp_directive   7 0 0   100%
webapp / handlers.py set_handlers.add_script_hashes_to_csp   4 0 0   100%
webapp / handlers.py set_handlers.add_headers   14 0 0   100%
webapp / handlers.py (no function)   28 0 0   100%
webapp / helpers.py get_yaml_loader   3 0 0   100%
webapp / helpers.py get_licenses   9 2 0   78%
webapp / helpers.py get_licenses._build_custom_license   1 0 0   100%
webapp / helpers.py is_valid_path   3 0 0   100%
webapp / helpers.py get_file   11 2 0   82%
webapp / helpers.py get_yaml   6 0 0   100%
webapp / helpers.py dump_yaml   2 2 0   0%
webapp / helpers.py get_icon   4 0 0   100%
webapp / helpers.py get_publisher_data   16 5 0   69%
webapp / helpers.py get_dns_verification_token   4 0 0   100%
webapp / helpers.py get_csp_as_str   5 0 0   100%
webapp / helpers.py list_folders   1 1 0   0%
webapp / helpers.py directory_exists   4 4 0   0%
webapp / helpers.py get_brand_id   2 0 0   100%
webapp / helpers.py (no function)   30 0 0   100%
webapp / login / macaroon.py MacaroonRequest.__init__   1 0 0   100%
webapp / login / macaroon.py MacaroonRequest.getExtensionArgs   1 0 0   100%
webapp / login / macaroon.py MacaroonResponse.getExtensionArgs   1 1 0   0%
webapp / login / macaroon.py MacaroonResponse.fromSuccessResponse   8 8 0   0%
webapp / login / macaroon.py (no function)   12 0 0   100%
webapp / login / oauth_views.py github_auth   5 5 0   0%
webapp / login / oauth_views.py github_login_verify   13 13 0   0%
webapp / login / oauth_views.py (no function)   13 0 0   100%
webapp / login / views.py get_environment   1 0 0   100%
webapp / login / views.py login_handler   12 0 0   100%
webapp / login / views.py after_login   16 3 0   81%
webapp / login / views.py login_beta   1 1 0   0%
webapp / login / views.py logout   2 0 0   100%
webapp / login / views.py (no function)   32 0 0   100%
webapp / markdown.py SnapcraftBlockParser.parse_indent_code   4 0 0   100%
webapp / markdown.py parse_markdown_description   2 0 0   100%
webapp / markdown.py (no function)   17 0 0   100%
webapp / metrics / helper.py get_filter   1 0 0   100%
webapp / metrics / helper.py get_last_metrics_processed_date   6 1 0   83%
webapp / metrics / helper.py get_dates_for_metric   8 2 0   75%
webapp / metrics / helper.py build_metric_query_installed_base   2 2 0   0%
webapp / metrics / helper.py build_active_device_metric_query   1 0 0   100%
webapp / metrics / helper.py build_metric_query_country   2 0 0   100%
webapp / metrics / helper.py find_metric   3 0 0   100%
webapp / metrics / helper.py build_snap_installs_metrics_query   8 1 0   88%
webapp / metrics / helper.py get_days_without_data   7 0 0   100%
webapp / metrics / helper.py transform_metrics   11 1 0   91%
webapp / metrics / helper.py lttb_select_indices   22 22 0   0%
webapp / metrics / helper.py normalize_series   6 6 0   0%
webapp / metrics / helper.py downsample_series   14 14 0   0%
webapp / metrics / helper.py (no function)   16 0 0   100%
webapp / metrics / metrics.py _calculate_colors   3 0 0   100%
webapp / metrics / metrics.py _calculate_color   8 2 0   75%
webapp / metrics / metrics.py _capitalize_os_name   5 0 0   100%
webapp / metrics / metrics.py Metric.__init__   4 0 0   100%
webapp / metrics / metrics.py Metric.__iter__   3 0 0   100%
webapp / metrics / metrics.py Metric.__bool__   1 0 0   100%
webapp / metrics / metrics.py ActiveDevices.__init__   2 0 0   100%
webapp / metrics / metrics.py ActiveDevices.get_number_latest_active_devices   9 1 0   89%
webapp / metrics / metrics.py CountryDevices.__init__   4 0 0   100%
webapp / metrics / metrics.py CountryDevices.get_number_territories   5 0 0   100%
webapp / metrics / metrics.py CountryDevices._calculate_metrics_countries   20 0 1   100%
webapp / metrics / metrics.py CountryDevices._build_country_info   21 3 1   86%
webapp / metrics / metrics.py OsMetric.__init__   2 0 0   100%
webapp / metrics / metrics.py OsMetric._build_os_info   7 0 0   100%
webapp / metrics / metrics.py (no function)   20 0 0   100%
webapp / packages / logic.py fetch_packages   32 32 0   0%
webapp / packages / logic.py fetch_package   9 9 0   0%
webapp / packages / logic.py parse_package_for_card   13 13 0   0%
webapp / packages / logic.py paginate   9 9 0   0%
webapp / packages / logic.py get_packages   12 12 0   0%
webapp / packages / logic.py format_slug   1 1 0   0%
webapp / packages / logic.py parse_categories   5 5 0   0%
webapp / packages / logic.py get_store_categories   8 8 0   0%
webapp / packages / logic.py get_snaps_account_info   24 24 0   0%
webapp / packages / logic.py get_package   3 3 0   0%
webapp / packages / logic.py (no function)   22 0 0   100%
webapp / packages / store_packages.py get_store_packages   3 3 0   0%
webapp / packages / store_packages.py package   5 5 0   0%
webapp / packages / store_packages.py get_store_package   3 3 0   0%
webapp / packages / store_packages.py (no function)   16 0 0   100%
webapp / publisher / __init__.py (no function)   0 0 0   100%
webapp / publisher / cve / cve_helper.py CveHelper._get_cve_file_metadata   6 0 0   100%
webapp / publisher / cve / cve_helper.py CveHelper._format_cve_response   15 0 0   100%
webapp / publisher / cve / cve_helper.py CveHelper._fetch_file_content   19 2 0   89%
webapp / publisher / cve / cve_helper.py CveHelper.get_revisions_with_cves   6 0 0   100%
webapp / publisher / cve / cve_helper.py CveHelper.get_cve_with_revision   5 1 0   80%
webapp / publisher / cve / cve_helper.py CveHelper.can_user_access_cve_data   13 0 0   100%
webapp / publisher / cve / cve_helper.py CveHelper._match_filters   16 1 0   94%
webapp / publisher / cve / cve_helper.py CveHelper.filter_cve_data   1 0 0   100%
webapp / publisher / cve / cve_helper.py CveHelper.sort_cve_data   10 0 0   100%
webapp / publisher / cve / cve_helper.py CveHelper.paginate_cve_list   4 0 0   100%
webapp / publisher / cve / cve_helper.py (no function)   31 0 0   100%
webapp / publisher / github / views.py get_repos   9 9 0   0%
webapp / publisher / github / views.py (no function)   8 0 0   100%
webapp / publisher / snaps / build_views.py extract_github_repository   6 0 0   100%
webapp / publisher / snaps / build_views.py get_builds   15 3 0   80%
webapp / publisher / snaps / build_views.py get_snap_builds_page   2 2 0   0%
webapp / publisher / snaps / build_views.py get_snap_builds   11 11 0   0%
webapp / publisher / snaps / build_views.py get_snap_build   13 13 0   0%
webapp / publisher / snaps / build_views.py validate_repo   15 15 0   0%
webapp / publisher / snaps / build_views.py post_snap_builds   41 41 0   0%
webapp / publisher / snaps / build_views.py check_build_request   13 13 0   0%
webapp / publisher / snaps / build_views.py post_github_webhook   29 29 0   0%
webapp / publisher / snaps / build_views.py get_update_gh_webhooks   26 26 0   0%
webapp / publisher / snaps / build_views.py (no function)   33 0 0   100%
webapp / publisher / snaps / builds.py build_link   3 3 0   0%
webapp / publisher / snaps / builds.py _map_upload_state   10 1 0   90%
webapp / publisher / snaps / builds.py map_build_and_upload_states   14 2 0   86%
webapp / publisher / snaps / builds.py map_snap_build_status   13 13 0   0%
webapp / publisher / snaps / builds.py (no function)   34 0 0   100%
webapp / publisher / snaps / collaboration_views.py get_collaboration_snap   3 3 0   0%
webapp / publisher / snaps / collaboration_views.py (no function)   8 0 0   100%
webapp / publisher / snaps / listing_views.py get_market_snap   1 1 0   0%
webapp / publisher / snaps / listing_views.py redirect_post_market_snap   1 1 0   0%
webapp / publisher / snaps / listing_views.py get_listing_snap   5 5 0   0%
webapp / publisher / snaps / listing_views.py post_preview   26 2 0   92%
webapp / publisher / snaps / listing_views.py (no function)   17 0 0   100%
webapp / publisher / snaps / logic.py get_snaps_account_info   24 1 0   96%
webapp / publisher / snaps / logic.py get_stores   5 5 0   0%
webapp / publisher / snaps / logic.py get_snap_names_by_ownership   8 0 0   100%
webapp / publisher / snaps / logic.py verify_base_metrics   3 1 0   67%
webapp / publisher / snaps / logic.py extract_metrics_period   8 2 0   75%
webapp / publisher / snaps / logic.py get_installed_based_metric   8 0 0   100%
webapp / publisher / snaps / logic.py is_snap_on_stable   5 0 0   100%
webapp / publisher / snaps / logic.py build_image_info   4 4 0   0%
webapp / publisher / snaps / logic.py remove_invalid_characters   1 0 0   100%
webapp / publisher / snaps / logic.py build_changed_images   25 25 0   0%
webapp / publisher / snaps / logic.py filter_changes_data   2 0 0   100%
webapp / publisher / snaps / logic.py invalid_field_errors   11 11 0   0%
webapp / publisher / snaps / logic.py replace_reserved_categories_key   4 0 0   100%
webapp / publisher / snaps / logic.py filter_categories   3 0 0   100%
webapp / publisher / snaps / logic.py filter_available_stores   6 0 0   100%
webapp / publisher / snaps / logic.py convert_date   3 0 0   100%
webapp / publisher / snaps / logic.py categorise_media   11 0 0   100%
webapp / publisher / snaps / logic.py get_store_name   5 0 0   100%
webapp / publisher / snaps / logic.py (no function)   22 0 0   100%
webapp / publisher / snaps / metrics_views.py get_account_snaps_metrics   14 0 0   100%
webapp / publisher / snaps / metrics_views.py get_measure_snap   1 1 0   0%
webapp / publisher / snaps / metrics_views.py publisher_snap_metrics   3 3 0   0%
webapp / publisher / snaps / metrics_views.py get_active_devices   46 7 0   85%
webapp / publisher / snaps / metrics_views.py get_latest_active_devices   13 13 0   0%
webapp / publisher / snaps / metrics_views.py get_metric_annotaion   13 0 0   100%
webapp / publisher / snaps / metrics_views.py get_country_metric   10 0 0   100%
webapp / publisher / snaps / metrics_views.py (no function)   29 0 0   100%
webapp / publisher / snaps / preview_data.py get_countries   1 0 0   100%
webapp / publisher / snaps / preview_data.py get_normalised_oses   1 0 0   100%
webapp / publisher / snaps / preview_data.py (no function)   2 0 0   100%
webapp / publisher / snaps / publicise_views.py get_publicise   2 2 0   0%
webapp / publisher / snaps / publicise_views.py (no function)   7 0 0   100%
webapp / publisher / snaps / release_views.py redirect_get_release_history   1 1 0   0%
webapp / publisher / snaps / release_views.py get_releases   2 2 0   0%
webapp / publisher / snaps / release_views.py redirect_post_release   1 1 0   0%
webapp / publisher / snaps / release_views.py get_release_history_json   8 1 0   88%
webapp / publisher / snaps / release_views.py post_release   11 1 0   91%
webapp / publisher / snaps / release_views.py redirect_post_close_channel   1 1 0   0%
webapp / publisher / snaps / release_views.py post_close_channel   18 0 0   100%
webapp / publisher / snaps / release_views.py post_default_track   17 0 0   100%
webapp / publisher / snaps / release_views.py get_snap_revision_json   2 2 0   0%
webapp / publisher / snaps / release_views.py (no function)   24 0 0   100%
webapp / publisher / snaps / settings_views.py get_settings_json   1 1 0   0%
webapp / publisher / snaps / settings_views.py get_settings   18 18 0   0%
webapp / publisher / snaps / settings_views.py (no function)   10 0 0   100%
webapp / publisher / snaps / views.py redirect_get_account_snaps   1 1 0   0%
webapp / publisher / snaps / views.py get_account_snaps   5 0 0   100%
webapp / publisher / snaps / views.py get_user_keys   2 2 0   0%
webapp / publisher / snaps / views.py get_user_snaps   4 4 0   0%
webapp / publisher / snaps / views.py get_snap_build_status   11 11 0   0%
webapp / publisher / snaps / views.py redirect_get_register_name   1 1 0   0%
webapp / publisher / snaps / views.py get_register_name   1 0 0   100%
webapp / publisher / snaps / views.py redirect_post_register_name   1 1 0   0%
webapp / publisher / snaps / views.py delete_package   4 4 0   0%
webapp / publisher / snaps / views.py get_is_user_snap   10 2 0   80%
webapp / publisher / snaps / views.py post_register_name_json   12 0 0   100%
webapp / publisher / snaps / views.py get_register_name_dispute   4 4 0   0%
webapp / publisher / snaps / views.py get_request_reserved_name   7 1 0   86%
webapp / publisher / snaps / views.py snap_count   4 0 0   100%
webapp / publisher / snaps / views.py (no function)   116 0 0   100%
webapp / publisher / views.py get_account   1 0 0   100%
webapp / publisher / views.py get_publisher_details   5 0 0   100%
webapp / publisher / views.py post_publisher_details   7 0 0   100%
webapp / publisher / views.py get_agreement   1 0 0   100%
webapp / publisher / views.py post_agreement   5 0 0   100%
webapp / publisher / views.py get_account_name   1 0 0   100%
webapp / publisher / views.py post_account_name   11 0 0   100%
webapp / publisher / views.py (no function)   30 0 0   100%
webapp / snapcraft / logic.py get_livestreams   18 3 0   83%
webapp / snapcraft / logic.py (no function)   3 0 0   100%
webapp / snapcraft / views.py snapcraft_blueprint   32 0 0   100%
webapp / snapcraft / views.py snapcraft_blueprint.homepage   3 0 0   100%
webapp / snapcraft / views.py snapcraft_blueprint.get_account_json   14 14 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.iot   10 10 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.about   1 1 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.about_publish   1 1 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.about_listing   1 1 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.about_release   1 1 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.about_publicise   1 1 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.about_contact   1 1 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.about_thankyou   1 1 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.community_redirect   1 1 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.create_redirect   1 1 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.build   2 2 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.sitemap   4 4 0   0%
webapp / snapcraft / views.py snapcraft_blueprint.sitemap_links   7 7 0   0%
webapp / snapcraft / views.py (no function)   3 0 0   100%
webapp / store / __init__.py (no function)   0 0 0   100%
webapp / store / logic.py get_n_random_snaps   3 3 0   0%
webapp / store / logic.py get_snap_banner_url   5 0 0   100%
webapp / store / logic.py get_pages_details   12 12 0   0%
webapp / store / logic.py convert_navigation_url   15 15 0   0%
webapp / store / logic.py build_pagination_link   8 8 0   0%
webapp / store / logic.py convert_channel_maps   11 0 1   100%
webapp / store / logic.py convert_date   6 0 0   100%
webapp / store / logic.py format_category_name   1 0 0   100%
webapp / store / logic.py get_categories   9 0 0   100%
webapp / store / logic.py get_snap_categories   5 0 0   100%
webapp / store / logic.py get_latest_versions   15 0 0   100%
webapp / store / logic.py get_revisions   2 0 0   100%
webapp / store / logic.py get_last_updated_versions   4 0 0   100%
webapp / store / logic.py get_last_updated_version   9 2 0   78%
webapp / store / logic.py has_stable   7 1 0   86%
webapp / store / logic.py get_lowest_available_risk   13 0 0   100%
webapp / store / logic.py extract_info_channel_map   10 0 0   100%
webapp / store / logic.py get_video_embed_code   8 0 0   100%
webapp / store / logic.py filter_screenshots   2 0 0   100%
webapp / store / logic.py get_video   6 3 0   50%
webapp / store / logic.py promote_snap_with_icon   8 8 0   0%
webapp / store / logic.py get_snap_developer   5 1 0   80%
webapp / store / logic.py (no function)   31 0 0   100%
webapp / store / snap_details_views.py snap_details_views   24 0 0   100%
webapp / store / snap_details_views.py snap_details_views._get_context_snap_details   32 3 0   91%
webapp / store / snap_details_views.py snap_details_views.snap_has_sboms   8 2 0   75%
webapp / store / snap_details_views.py snap_details_views.get_sbom   4 4 0   0%
webapp / store / snap_details_views.py snap_details_views.snap_details   26 4 0   85%
webapp / store / snap_details_views.py snap_details_views.snap_details_embedded   9 0 0   100%
webapp / store / snap_details_views.py snap_details_views.snap_details_case_sensitive   1 1 0   0%
webapp / store / snap_details_views.py snap_details_views.get_badge_svg   4 0 0   100%
webapp / store / snap_details_views.py snap_details_views.snap_details_badge   4 0 0   100%
webapp / store / snap_details_views.py snap_details_views.snap_install_badge   11 11 0   0%
webapp / store / snap_details_views.py snap_details_views.snap_details_badge_trending   9 0 0   100%
webapp / store / snap_details_views.py snap_details_views.snap_distro_install   23 6 0   74%
webapp / store / snap_details_views.py snap_details_views.report_snap   5 5 0   0%
webapp / store / snap_details_views.py (no function)   23 0 0   100%
webapp / store / views.py store_blueprint   35 2 0   94%
webapp / store / views.py store_blueprint.validation_sets   1 1 0   0%
webapp / store / views.py store_blueprint.discover   1 1 0   0%
webapp / store / views.py store_blueprint.brand_store_view   10 10 0   0%
webapp / store / views.py store_blueprint.brand_search_snap   20 20 0   0%
webapp / store / views.py store_blueprint.store_view   1 1 0   0%
webapp / store / views.py store_blueprint.explore_view   37 10 0   73%
webapp / store / views.py store_blueprint.get_video_thumbnail_data   6 6 0   0%
webapp / store / views.py store_blueprint.publisher_details   41 2 0   95%
webapp / store / views.py store_blueprint.store_category   12 12 0   0%
webapp / store / views.py store_blueprint.featured_snaps_in_category   5 5 0   0%
webapp / store / views.py store_blueprint.sitemap   31 31 0   0%
webapp / store / views.py store_blueprint.post_create_track   13 13 0   0%
webapp / store / views.py (no function)   28 0 0   100%
webapp / template_utils.py generate_slug   15 2 0   87%
webapp / template_utils.py contains   1 0 0   100%
webapp / template_utils.py join   1 0 0   100%
webapp / template_utils.py static_url   9 0 0   100%
webapp / template_utils.py install_snippet   6 0 0   100%
webapp / template_utils.py format_number   1 0 0   100%
webapp / template_utils.py format_display_name   1 0 0   100%
webapp / template_utils.py display_name   4 0 0   100%
webapp / template_utils.py format_date   2 0 0   100%
webapp / template_utils.py format_member_role   2 0 0   100%
webapp / template_utils.py format_link   10 0 0   100%
webapp / template_utils.py (no function)   15 0 0   100%
webapp / tutorials / __init__.py (no function)   0 0 0   100%
webapp / tutorials / views.py init_tutorials   5 0 0   100%
webapp / tutorials / views.py init_tutorials.index   13 13 0   0%
webapp / tutorials / views.py (no function)   7 0 0   100%
Total     8466 1306 3   85%

No items found using the specified filter.