Coverage report: 81%

Files Functions Classes

coverage.py v7.13.4, created at 2026-03-02 13:10 +0100

File function   statements missing excluded   coverage
src / superset_io / __init__.py (no function)   0 0 0   100%
src / superset_io / api.py SuperSetApiClient.__init__   1 0 0   100%
src / superset_io / api.py SuperSetApiClient.test_connection   35 0 0   100%
src / superset_io / api.py SuperSetApiClient.download_assets   19 0 0   100%
src / superset_io / api.py SuperSetApiClient.upload_assets   5 0 0   100%
src / superset_io / api.py SuperSetApiClient._get_dashboard   4 4 0   0%
src / superset_io / api.py SuperSetApiClient._get_dashboards   4 4 0   0%
src / superset_io / api.py SuperSetApiClient._get_assets_zip   5 5 0   0%
src / superset_io / api.py SuperSetApiClient._post_assets   17 17 0   0%
src / superset_io / api.py (no function)   22 0 0   100%
src / superset_io / session.py SupersetApiSession.__init__   10 0 0   100%
src / superset_io / session.py SupersetApiSession.request   3 0 0   100%
src / superset_io / session.py SupersetApiSession.from_credentials   14 0 0   100%
src / superset_io / session.py SupersetApiSession.from_token   9 0 0   100%
src / superset_io / session.py SupersetApiSession._get_bearer_token   6 0 0   100%
src / superset_io / session.py SupersetApiSession._get_csrf_via_bearer   9 1 0   89%
src / superset_io / session.py SupersetApiSession._get_csrf_via_session_cookie   13 0 0   100%
src / superset_io / session.py SupersetApiSession._jwt_header   3 0 0   100%
src / superset_io / session.py SupersetApiSession._extract_csrf_from_login_html   5 0 0   100%
src / superset_io / session.py (no function)   25 0 0   100%
src / superset_io / utils.py get_version   5 0 0   100%
src / superset_io / utils.py zipfile_buffer_from_folder   12 0 0   100%
src / superset_io / utils.py zipfile_buffer_from_zipfile   6 0 0   100%
src / superset_io / utils.py validate_assets_bundle_structure   21 0 0   100%
src / superset_io / utils.py (no function)   9 0 0   100%
tests / __init__.py (no function)   0 0 0   100%
tests / conftest.py pytest_addoption   4 0 0   100%
tests / conftest.py pytest_configure   1 0 0   100%
tests / conftest.py pytest_collection_modifyitems   5 0 0   100%
tests / conftest.py superset_url   1 1 0   0%
tests / conftest.py superset_credentials   3 3 0   0%
tests / conftest.py superset   16 16 0   0%
tests / conftest.py superset_client   13 13 0   0%
tests / conftest.py mock_superset_session   6 6 0   0%
tests / conftest.py mock_superset_client   1 1 0   0%
tests / conftest.py test_assets_dir   3 3 0   0%
tests / conftest.py create_sample_dashboard_zip   8 8 0   0%
tests / conftest.py sample_dashboard_zip   5 5 0   0%
tests / conftest.py (no function)   33 0 0   100%
tests / docker_compose.py SupersetDockerCompose.__init__   3 3 0   0%
tests / docker_compose.py SupersetDockerCompose.start   13 13 0   0%
tests / docker_compose.py SupersetDockerCompose.stop   2 2 0   0%
tests / docker_compose.py SupersetDockerCompose.is_running   5 5 0   0%
tests / docker_compose.py get_docker_compose_path   1 1 0   0%
tests / docker_compose.py (no function)   10 0 0   100%
tests / integration / test_dashboard_export_import.py TestDashboardExportImport.test_get_dashboards   4 4 0   0%
tests / integration / test_dashboard_export_import.py TestDashboardExportImport.test_export_and_import_dashboard   20 20 0   0%
tests / integration / test_dashboard_export_import.py TestDashboardExportImport.test_export_invalid_dashboard   4 4 0   0%
tests / integration / test_dashboard_export_import.py TestDashboardExportImport.test_import_invalid_zip   4 4 0   0%
tests / integration / test_dashboard_export_import.py TestDashboardExportImport.test_import_with_passwords   6 6 0   0%
tests / integration / test_dashboard_export_import.py TestDashboardExportImport.test_dashboard_roundtrip   25 25 0   0%
tests / integration / test_dashboard_export_import.py (no function)   12 0 0   100%
tests / unit / test_api.py _resp   8 0 0   100%
tests / unit / test_api.py _http_error   5 0 0   100%
tests / unit / test_api.py TestAPITestConnection.test_connection_health_fails   9 0 0   100%
tests / unit / test_api.py TestAPITestConnection.test_connection_log_fails   10 0 0   100%
tests / unit / test_api.py TestAPITestConnection.test_connection_missing_csrf_header   8 0 0   100%
tests / unit / test_api.py TestAPITestConnection.test_connection_succeeds_with_invalid_payload   8 0 0   100%
tests / unit / test_api.py TestAPITestConnection.test_connection_error_type_not_expected   8 0 0   100%
tests / unit / test_api.py TestAPITestConnection.test_connection_post_succeeds   8 0 0   100%
tests / unit / test_api.py TestUploadAssets.asset_folder   5 0 0   100%
tests / unit / test_api.py TestUploadAssets.client   4 0 0   100%
tests / unit / test_api.py TestUploadAssets.test_upload_assets_zip   12 0 0   100%
tests / unit / test_api.py TestUploadAssets.test_upload_assets_folder   10 0 0   100%
tests / unit / test_api.py TestDownloadAssets.client   4 0 0   100%
tests / unit / test_api.py TestDownloadAssets._zip_bytes   5 0 0   100%
tests / unit / test_api.py TestDownloadAssets.test_download_assets_writes_zip_file   7 0 0   100%
tests / unit / test_api.py TestDownloadAssets.test_download_assets_extracts_to_folder_and_moves_children   8 0 0   100%
tests / unit / test_api.py TestDownloadAssets.test_download_assets_folder_destination_not_empty_raises   5 0 0   100%
tests / unit / test_api.py TestDownloadAssets.test_download_assets_raises_if_no_assets_export_folder_in_zip   6 0 0   100%
tests / unit / test_api.py TestDownloadAssets.test_download_assets_raises_if_multiple_assets_export_folders_in_zip   6 0 0   100%
tests / unit / test_api.py (no function)   31 0 0   100%
tests / unit / test_session.py fake_jwt   2 0 0   100%
tests / unit / test_session.py TestSupersetApiSession.test_init_sets_headers_conditionally   8 0 0   100%
tests / unit / test_session.py TestSupersetApiSession.test_session_request_normalizes_urls   6 0 0   100%
tests / unit / test_session.py TestSupersetApiSession.test_from_token_http_error_does_not_crash_or_set_csrf   6 0 0   100%
tests / unit / test_session.py TestSupersetApiSession.test_from_token_success   6 0 0   100%
tests / unit / test_session.py TestSupersetApiSession.test_from_token_with_existing_session   6 0 0   100%
tests / unit / test_session.py TestSupersetApiSession.test_get_csrf_via_session_cookie_no_csrf_field   7 0 0   100%
tests / unit / test_session.py TestFromCredentials.test_from_credentials   7 0 0   100%
tests / unit / test_session.py TestFromCredentials.test_from_credentials_fallback   6 0 0   100%
tests / unit / test_session.py TestFromCredentials.test_from_credentials_http_error   11 0 0   100%
tests / unit / test_session.py TestBearerToken.test_get_bearer_token_success   7 0 0   100%
tests / unit / test_session.py TestBearerToken.test_get_bearer_token_http_error   6 0 0   100%
tests / unit / test_session.py TestBearerToken.test_get_csrf_via_bearer   6 0 0   100%
tests / unit / test_session.py TestBearerToken.test_get_csrf_via_bearer_http_error   9 0 0   100%
tests / unit / test_session.py TestSessionCookie.test_get_csrf_via_session_cookie_success   19 0 0   100%
tests / unit / test_session.py (no function)   26 0 0   100%
tests / unit / test_utils.py TestZipfileBufferFromFolder.test_create_zip_from_folder   16 0 0   100%
tests / unit / test_utils.py TestZipfileBufferFromFolder.test_nonexistent_folder   2 0 0   100%
tests / unit / test_utils.py TestZipfileBufferFromFolder.test_file_instead_of_folder   4 0 0   100%
tests / unit / test_utils.py TestZipfileBufferFromZipfile.test_copy_existing_zip   10 0 0   100%
tests / unit / test_utils.py TestZipfileBufferFromZipfile.test_nonexistent_zip   3 0 0   100%
tests / unit / test_utils.py TestValidateAssetsBundleStructure.test_valid_structure   8 0 0   100%
tests / unit / test_utils.py TestValidateAssetsBundleStructure.test_valid_structure_with_bytes   6 0 0   100%
tests / unit / test_utils.py TestValidateAssetsBundleStructure.test_valid_structure_with_path   5 0 0   100%
tests / unit / test_utils.py TestValidateAssetsBundleStructure.test_missing_metadata   6 0 0   100%
tests / unit / test_utils.py TestValidateAssetsBundleStructure.test_metadata_not_in_root_folder   8 0 0   100%
tests / unit / test_utils.py TestValidateAssetsBundleStructure.test_multiple_root_folders   7 0 0   100%
tests / unit / test_utils.py TestValidateAssetsBundleStructure.test_metadata_in_wrong_location   6 0 0   100%
tests / unit / test_utils.py TestValidateAssetsBundleStructure.test_empty_zip   6 0 0   100%
tests / unit / test_utils.py TestGetVersion.test_get_version_returns_version_string   2 0 0   100%
tests / unit / test_utils.py TestGetVersion.test_get_version_returns_fallback_when_package_not_found   3 0 0   100%
tests / unit / test_utils.py TestGetVersion.test_get_version_returns_fallback_when_package_not_found._raise   1 0 0   100%
tests / unit / test_utils.py (no function)   25 0 0   100%
Total     893 174 0   81%

No items found using the specified filter.