| 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 | 
                3 | 
                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 | 
                15 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/publisher/snaps/tests_get_metrics.py | 
                GetActiveDeviceMetrics.test_get_active_devices_weekly_installed_by_channel | 
                15 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/publisher/snaps/tests_get_metrics.py | 
                GetActiveDeviceMetrics.test_get_active_devices_weekly_installed_by_os | 
                14 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/publisher/snaps/tests_get_metrics.py | 
                GetActiveDeviceMetrics.test_get_active_devices_in_3_months_period | 
                14 | 
                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 | 
                8 | 
                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 | 
                18 | 
                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 | 
                3 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/publisher/tests_account_logout.py | 
                (no function) | 
                7 | 
                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 | 
                3 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/store/tests_details.py | 
                GetDetailsPageTest.create_app | 
                4 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/store/tests_details.py | 
                GetDetailsPageTest.test_api_404 | 
                7 | 
                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 | 
                4 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/store/tests_details.py | 
                GetDetailsPageTest.test_user_connected | 
                12 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/store/tests_details.py | 
                GetDetailsPageTest.test_user_not_connected | 
                7 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/store/tests_details.py | 
                GetDetailsPageTest.test_user_connected_on_not_own_snap | 
                9 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/store/tests_details.py | 
                (no function) | 
                21 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/store/tests_distro_page.py | 
                GetDistroPageTest.setUp | 
                4 | 
                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 | 
                3 | 
                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_github_badge.py | 
                GetGitHubBadgeTest.setUp | 
                4 | 
                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 | 
                5 | 
                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 | 
                5 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/store/tests_publisher.py | 
                (no function) | 
                20 | 
                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% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsDevViteIntegration.setUp | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsDevViteIntegration.tests_dev_tools | 
                3 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsDevViteIntegration.tests_get_asset_url | 
                9 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsDevViteIntegration.tests_get_imported_chunks | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsDevViteIntegration.tests_get_imported_css | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.setUp | 
                11 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tearDown | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_good_manifest_file | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_bad_manifest_file | 
                6 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_dev_tools | 
                3 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_get_asset_url__bad_asset | 
                3 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_get_asset_url__bad_path | 
                7 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_get_asset_url__is_not_ts | 
                4 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_get_asset_url__is_not_scss | 
                4 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_get_imported_chunks__bad_asset | 
                3 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_get_imported_chunks__bad_path | 
                7 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_get_imported_chunks | 
                3 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                TestsProdViteIntegration.tests_get_imported_css | 
                2 | 
                0 | 
                0 | 
                100% | 
            
            
                | tests/tests_vite_integration.py | 
                (no function) | 
                32 | 
                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 | 
                34 | 
                1 | 
                0 | 
                97% | 
            
            
                | webapp/app.py | 
                create_app.inject_csrf_token | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/app.py | 
                init_extensions | 
                1 | 
                1 | 
                0 | 
                0% | 
            
            
                | 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 | 
                5 | 
                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) | 
                14 | 
                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 | 
                21 | 
                21 | 
                0 | 
                0% | 
            
            
                | webapp/blog/views.py | 
                init_blog.snap_series | 
                9 | 
                9 | 
                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) | 
                7 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/config.py | 
                (no function) | 
                27 | 
                2 | 
                0 | 
                93% | 
            
            
                | webapp/decorators.py | 
                login_required | 
                3 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/decorators.py | 
                login_required.is_user_logged_in | 
                4 | 
                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) | 
                9 | 
                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 | 
                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) | 
                21 | 
                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 | 
                3 | 
                3 | 
                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/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) | 
                2 | 
                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 | 
                38 | 
                6 | 
                0 | 
                84% | 
            
            
                | webapp/feeds/feeds.py | 
                (no function) | 
                15 | 
                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 | 
                4 | 
                4 | 
                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) | 
                20 | 
                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 | 
                4 | 
                1 | 
                0 | 
                75% | 
            
            
                | 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_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) | 
                30 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/store/snap_details_views.py | 
                snap_details_views | 
                21 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/store/snap_details_views.py | 
                snap_details_views._get_context_snap_details | 
                31 | 
                3 | 
                0 | 
                90% | 
            
            
                | webapp/store/snap_details_views.py | 
                snap_details_views.snap_details | 
                17 | 
                4 | 
                0 | 
                76% | 
            
            
                | 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 | 
                18 | 
                4 | 
                0 | 
                78% | 
            
            
                | webapp/store/snap_details_views.py | 
                snap_details_views.report_snap | 
                5 | 
                5 | 
                0 | 
                0% | 
            
            
                | webapp/store/snap_details_views.py | 
                (no function) | 
                17 | 
                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 | 
                1 | 
                1 | 
                0 | 
                0% | 
            
            
                | 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 | 
                24 | 
                24 | 
                0 | 
                0% | 
            
            
                | webapp/store/views.py | 
                store_blueprint.post_create_track | 
                13 | 
                13 | 
                0 | 
                0% | 
            
            
                | webapp/store/views.py | 
                (no function) | 
                23 | 
                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 | 
                vite_import | 
                10 | 
                1 | 
                0 | 
                90% | 
            
            
                | webapp/template_utils.py | 
                vite_dev_tools | 
                1 | 
                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) | 
                19 | 
                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% | 
            
            
                | webapp/vite_integration/__init__.py | 
                (no function) | 
                3 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/exceptions.py | 
                (no function) | 
                6 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/__init__.py | 
                (no function) | 
                4 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/base.py | 
                _AbstractViteIntegration.__init__ | 
                1 | 
                1 | 
                0 | 
                0% | 
            
            
                | webapp/vite_integration/impl/base.py | 
                _AbstractViteIntegration.get_dev_tools | 
                1 | 
                1 | 
                0 | 
                0% | 
            
            
                | webapp/vite_integration/impl/base.py | 
                _AbstractViteIntegration.get_asset_url | 
                1 | 
                1 | 
                0 | 
                0% | 
            
            
                | webapp/vite_integration/impl/base.py | 
                _AbstractViteIntegration.get_imported_chunks | 
                1 | 
                1 | 
                0 | 
                0% | 
            
            
                | webapp/vite_integration/impl/base.py | 
                _AbstractViteIntegration.get_imported_css | 
                1 | 
                1 | 
                0 | 
                0% | 
            
            
                | webapp/vite_integration/impl/base.py | 
                (no function) | 
                13 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/dev.py | 
                DevViteIntegration.__init__ | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/dev.py | 
                DevViteIntegration.get_dev_tools | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/dev.py | 
                DevViteIntegration.get_asset_url | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/dev.py | 
                DevViteIntegration.get_imported_chunks | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/dev.py | 
                DevViteIntegration.get_imported_css | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/dev.py | 
                (no function) | 
                10 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/prod.py | 
                ProdViteIntegration.__init__ | 
                9 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/prod.py | 
                ProdViteIntegration.get_dev_tools | 
                1 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/prod.py | 
                ProdViteIntegration.get_asset_url | 
                7 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/prod.py | 
                ProdViteIntegration._recursive_get_chunks | 
                6 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/prod.py | 
                ProdViteIntegration._recursive_get_chunks.__recursive_get_chunks | 
                9 | 
                1 | 
                0 | 
                89% | 
            
            
                | webapp/vite_integration/impl/prod.py | 
                ProdViteIntegration.get_imported_chunks | 
                7 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/impl/prod.py | 
                ProdViteIntegration.get_imported_css | 
                10 | 
                1 | 
                0 | 
                90% | 
            
            
                | webapp/vite_integration/impl/prod.py | 
                (no function) | 
                22 | 
                0 | 
                0 | 
                100% | 
            
            
                | webapp/vite_integration/types.py | 
                (no function) | 
                13 | 
                0 | 
                0 | 
                100% |