Coverage report: 94%

Files Functions Classes

coverage.py v7.12.0, created at 2026-03-21 12:19 +0000

File function   statements missing excluded   coverage
changes_metadata_manager / __init__.py (no function)   0 0 0   100%
changes_metadata_manager / folder_metadata_builder.py load_kg   3 0 0   100%
changes_metadata_manager / folder_metadata_builder.py extract_id_from_folder_name   6 1 0   83%
changes_metadata_manager / folder_metadata_builder.py extract_metadata_for_stage   22 0 0   100%
changes_metadata_manager / folder_metadata_builder.py validate_metadata   2 0 0   100%
changes_metadata_manager / folder_metadata_builder.py scan_folder_structure   18 3 0   83%
changes_metadata_manager / folder_metadata_builder.py process_all_folders   36 1 0   97%
changes_metadata_manager / folder_metadata_builder.py merge_provenance_files   4 0 0   100%
changes_metadata_manager / folder_metadata_builder.py parse_arguments   0 0 20   100%
changes_metadata_manager / folder_metadata_builder.py main   0 0 4   100%
changes_metadata_manager / folder_metadata_builder.py (no function)   25 0 4   100%
changes_metadata_manager / generate_provenance.py generate_provenance_snapshots   43 1 0   98%
changes_metadata_manager / generate_provenance.py (no function)   6 0 0   100%
changes_metadata_manager / zenodo_upload.py _literal_str_representer   3 3 0   0%
changes_metadata_manager / zenodo_upload.py slugify   4 0 0   100%
changes_metadata_manager / zenodo_upload.py _format_slug   1 0 0   100%
changes_metadata_manager / zenodo_upload.py load_creators_lookup   3 0 0   100%
changes_metadata_manager / zenodo_upload.py _format_creator   1 0 0   100%
changes_metadata_manager / zenodo_upload.py _extract_actor_names   7 0 0   100%
changes_metadata_manager / zenodo_upload.py extract_authors_for_entity_stage   5 0 0   100%
changes_metadata_manager / zenodo_upload.py extract_metadata_authors   1 0 0   100%
changes_metadata_manager / zenodo_upload.py build_creators_for_entity_stage   2 0 0   100%
changes_metadata_manager / zenodo_upload.py build_metadata_creators   2 0 0   100%
changes_metadata_manager / zenodo_upload.py merge_creators   12 0 0   100%
changes_metadata_manager / zenodo_upload.py extract_licensed_entity_stages   10 0 0   100%
changes_metadata_manager / zenodo_upload.py group_folders_by_entity   11 1 0   91%
changes_metadata_manager / zenodo_upload.py create_stage_zip   27 1 0   96%
changes_metadata_manager / zenodo_upload.py _get_label   4 1 0   75%
changes_metadata_manager / zenodo_upload.py extract_keeper_info   10 0 0   100%
changes_metadata_manager / zenodo_upload.py extract_entity_title   5 0 0   100%
changes_metadata_manager / zenodo_upload.py extract_acquisition_technique   4 0 0   100%
changes_metadata_manager / zenodo_upload.py extract_devices   8 0 0   100%
changes_metadata_manager / zenodo_upload.py extract_software_for_stage   9 0 0   100%
changes_metadata_manager / zenodo_upload.py extract_license_for_entity_stage   8 0 0   100%
changes_metadata_manager / zenodo_upload.py build_enhanced_description   10 0 0   100%
changes_metadata_manager / zenodo_upload.py build_methods_description   14 0 0   100%
changes_metadata_manager / zenodo_upload.py build_entity_uri   1 0 0   100%
changes_metadata_manager / zenodo_upload.py build_rights   6 0 0   100%
changes_metadata_manager / zenodo_upload.py generate_zenodo_config   25 1 0   96%
changes_metadata_manager / zenodo_upload.py prepare_all   36 36 0   0%
changes_metadata_manager / zenodo_upload.py _extract_doi   3 0 0   100%
changes_metadata_manager / zenodo_upload.py _extract_record_url   1 0 0   100%
changes_metadata_manager / zenodo_upload.py _format_creators_for_table   7 0 0   100%
changes_metadata_manager / zenodo_upload.py _format_licenses_for_table   9 0 0   100%
changes_metadata_manager / zenodo_upload.py upload_all   19 19 0   0%
changes_metadata_manager / zenodo_upload.py parse_arguments   0 0 12   100%
changes_metadata_manager / zenodo_upload.py main   0 0 9   100%
changes_metadata_manager / zenodo_upload.py (no function)   80 0 4   100%
tests / __init__.py (no function)   0 0 0   100%
tests / test_folder_metadata_builder.py load_fixture   3 0 0   100%
tests / test_folder_metadata_builder.py assert_graphs_equal   10 4 0   60%
tests / test_folder_metadata_builder.py real_kg   1 0 0   100%
tests / test_folder_metadata_builder.py test_folder_structure   8 0 0   100%
tests / test_folder_metadata_builder.py TestExtractMetadataForStageExact.test_stage_output_matches_fixture   3 0 0   100%
tests / test_folder_metadata_builder.py TestExtractIdFromFolderName.test_valid_folder_names   1 0 0   100%
tests / test_folder_metadata_builder.py TestExtractIdFromFolderName.test_invalid_folder_names   2 0 0   100%
tests / test_folder_metadata_builder.py TestProcessAllFolders.test_creates_files_in_place   11 0 0   100%
tests / test_folder_metadata_builder.py TestMergeProvenanceFiles.test_merges_all_prov_trig_files   12 0 0   100%
tests / test_folder_metadata_builder.py TestScanFolderStructure.test_scans_folder_structure   20 0 0   100%
tests / test_folder_metadata_builder.py (no function)   31 0 0   100%
tests / test_provenance.py test_environment   10 0 0   100%
tests / test_provenance.py test_provenance_generation   23 0 0   100%
tests / test_provenance.py test_input_format_parameter   18 0 0   100%
tests / test_provenance.py test_empty_directory   9 0 0   100%
tests / test_provenance.py (no function)   14 0 2   100%
tests / test_zenodo_upload.py real_kg   1 0 0   100%
tests / test_zenodo_upload.py TestExtractLicensedEntityStages.test_returns_set_of_tuples   3 0 0   100%
tests / test_zenodo_upload.py TestExtractLicensedEntityStages.test_known_licensed_entity   3 0 0   100%
tests / test_zenodo_upload.py TestExtractLicensedEntityStages.test_maps_steps_to_stages   7 0 0   100%
tests / test_zenodo_upload.py TestGroupFoldersByEntity.test_groups_folders_by_entity_id   6 0 0   100%
tests / test_zenodo_upload.py TestGroupFoldersByEntity.test_groups_abc_variants   4 0 0   100%
tests / test_zenodo_upload.py TestGroupFoldersByEntity.test_skips_skip_folders   6 0 0   100%
tests / test_zenodo_upload.py TestSlugify.test_simple_text   1 0 0   100%
tests / test_zenodo_upload.py TestSlugify.test_accented_characters   1 0 0   100%
tests / test_zenodo_upload.py TestSlugify.test_special_characters   1 0 0   100%
tests / test_zenodo_upload.py TestSlugify.test_multiple_spaces   1 0 0   100%
tests / test_zenodo_upload.py TestSlugify.test_leading_trailing_spaces   1 0 0   100%
tests / test_zenodo_upload.py TestCreateStageZip.test_includes_all_files_for_licensed_stage   19 0 0   100%
tests / test_zenodo_upload.py TestCreateStageZip.test_includes_only_metadata_for_unlicensed_stage   18 0 0   100%
tests / test_zenodo_upload.py TestCreateStageZip.test_multiple_folders_in_zip   16 0 0   100%
tests / test_zenodo_upload.py TestCreateStageZip.test_returns_none_for_missing_stage   11 0 0   100%
tests / test_zenodo_upload.py TestExtractEntityTitle.test_extracts_title_from_kg   2 0 0   100%
tests / test_zenodo_upload.py TestExtractEntityTitle.test_returns_default_for_missing   3 0 0   100%
tests / test_zenodo_upload.py TestExtractEntityTitle.test_takes_first_line   5 0 0   100%
tests / test_zenodo_upload.py TestExtractAuthorsForEntityStage.test_extracts_author_from_kg   2 0 0   100%
tests / test_zenodo_upload.py TestExtractAuthorsForEntityStage.test_accumulates_authors_across_steps   3 0 0   100%
tests / test_zenodo_upload.py TestExtractAuthorsForEntityStage.test_returns_empty_for_missing_entity   2 0 0   100%
tests / test_zenodo_upload.py TestExtractAuthorsForEntityStage.test_extracts_from_synthetic_graph   10 0 0   100%
tests / test_zenodo_upload.py TestExtractMetadataAuthors.test_extracts_step_05_authors   10 0 0   100%
tests / test_zenodo_upload.py TestExtractMetadataAuthors.test_returns_empty_for_missing_entity   3 0 0   100%
tests / test_zenodo_upload.py TestExtractMetadataAuthors.test_extracts_from_real_kg   2 0 0   100%
tests / test_zenodo_upload.py TestLoadCreatorsLookup.test_loads_creators_as_dict   5 0 0   100%
tests / test_zenodo_upload.py TestBuildCreatorsForEntityStage.test_builds_creators_with_researcher_role   3 0 0   100%
tests / test_zenodo_upload.py TestBuildCreatorsForEntityStage.test_ignores_authors_not_in_lookup   3 0 0   100%
tests / test_zenodo_upload.py TestBuildCreatorsForEntityStage.test_sorts_authors_alphabetically   12 0 0   100%
tests / test_zenodo_upload.py TestBuildMetadataCreators.test_builds_creators_with_datacurator_role   11 0 0   100%
tests / test_zenodo_upload.py TestMergeCreators.test_merges_without_duplicates   6 0 0   100%
tests / test_zenodo_upload.py TestMergeCreators.test_deduplicates_by_orcid   5 0 0   100%
tests / test_zenodo_upload.py TestMergeCreators.test_empty_lists   1 0 0   100%
tests / test_zenodo_upload.py TestMergeCreators.test_only_metadata_creators   4 0 0   100%
tests / test_zenodo_upload.py TestBuildEntityUri.test_builds_uri_for_numeric_id   2 0 0   100%
tests / test_zenodo_upload.py TestBuildEntityUri.test_builds_uri_for_string_id   2 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_generates_valid_config   4 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_adds_entity_uri_as_alternate_identifier   5 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_converts_related_identifiers   5 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_converts_notes_and_method_to_additional_descriptions   4 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_cc0_disclaimer_in_additional_descriptions   4 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_converts_locations_to_geojson   4 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_includes_community_field   5 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_includes_restricted_notice_when_no_license   5 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_no_restricted_notice_when_licensed   4 0 0   100%
tests / test_zenodo_upload.py TestGenerateZenodoConfig.test_propagates_funding_field   6 0 0   100%
tests / test_zenodo_upload.py TestExtractLicenseForEntityStage.test_extracts_license_from_kg   6 0 0   100%
tests / test_zenodo_upload.py TestExtractLicenseForEntityStage.test_returns_none_for_missing_license   3 0 0   100%
tests / test_zenodo_upload.py TestExtractLicenseForEntityStage.test_returns_none_for_unknown_license_uri   6 0 0   100%
tests / test_zenodo_upload.py TestExtractLicenseForEntityStage.test_extracts_cc_by   6 0 0   100%
tests / test_zenodo_upload.py TestExtractKeeperInfo.test_extracts_keeper_from_kg   3 0 0   100%
tests / test_zenodo_upload.py TestExtractKeeperInfo.test_extracts_non_bologna_keeper   3 0 0   100%
tests / test_zenodo_upload.py TestExtractKeeperInfo.test_returns_none_for_missing_entity   3 0 0   100%
tests / test_zenodo_upload.py TestExtractKeeperInfo.test_extracts_from_synthetic_graph   15 0 0   100%
tests / test_zenodo_upload.py TestExtractKeeperInfo.test_keeper_without_location   10 0 0   100%
tests / test_zenodo_upload.py TestBuildEnhancedDescription.test_raw_stage_description   2 0 0   100%
tests / test_zenodo_upload.py TestBuildEnhancedDescription.test_dcho_stage_description   4 0 0   100%
tests / test_zenodo_upload.py TestBuildEnhancedDescription.test_dchoo_stage_description   3 0 0   100%
tests / test_zenodo_upload.py TestBuildEnhancedDescription.test_description_never_contains_disclaimer   2 0 0   100%
tests / test_zenodo_upload.py TestBuildEnhancedDescription.test_includes_keeper_and_location   2 0 0   100%
tests / test_zenodo_upload.py TestBuildEnhancedDescription.test_includes_keeper_without_location   3 0 0   100%
tests / test_zenodo_upload.py TestBuildEnhancedDescription.test_no_keeper_line_when_none   2 0 0   100%
tests / test_zenodo_upload.py TestBuildEnhancedDescription.test_description_is_single_paragraph   2 0 0   100%
tests / test_zenodo_upload.py TestFormatCreatorsForTable.test_formats_multiple_creators   2 0 0   100%
tests / test_zenodo_upload.py TestFormatCreatorsForTable.test_formats_single_creator   2 0 0   100%
tests / test_zenodo_upload.py TestFormatLicensesForTable.test_formats_cc0_metadata_and_content   2 0 0   100%
tests / test_zenodo_upload.py TestFormatLicensesForTable.test_formats_mixed_licenses   2 0 0   100%
tests / test_zenodo_upload.py TestFormatLicensesForTable.test_formats_metadata_only   2 0 0   100%
tests / test_zenodo_upload.py TestExtractDoi.test_extracts_doi_from_record   2 0 0   100%
tests / test_zenodo_upload.py TestExtractDoi.test_returns_empty_string_on_sandbox   2 0 0   100%
tests / test_zenodo_upload.py TestExtractRecordUrl.test_extracts_url_from_record   2 0 0   100%
tests / test_zenodo_upload.py TestExtractAcquisitionTechnique.test_extracts_photography_from_kg   2 0 0   100%
tests / test_zenodo_upload.py TestExtractAcquisitionTechnique.test_extracts_scanning_from_kg   2 0 0   100%
tests / test_zenodo_upload.py TestExtractAcquisitionTechnique.test_returns_none_for_missing_entity   2 0 0   100%
tests / test_zenodo_upload.py TestExtractAcquisitionTechnique.test_extracts_from_synthetic_graph   4 0 0   100%
tests / test_zenodo_upload.py TestExtractDevices.test_extracts_devices_from_kg   2 0 0   100%
tests / test_zenodo_upload.py TestExtractDevices.test_extracts_scanner_device   2 0 0   100%
tests / test_zenodo_upload.py TestExtractDevices.test_returns_empty_for_missing_entity   2 0 0   100%
tests / test_zenodo_upload.py TestExtractDevices.test_excludes_item_uris   6 0 0   100%
tests / test_zenodo_upload.py TestExtractSoftwareForStage.test_extracts_raw_software   2 0 0   100%
tests / test_zenodo_upload.py TestExtractSoftwareForStage.test_extracts_rawp_software   2 0 0   100%
tests / test_zenodo_upload.py TestExtractSoftwareForStage.test_excludes_metadata_step_software   4 0 0   100%
tests / test_zenodo_upload.py TestExtractSoftwareForStage.test_includes_step_06_software   2 0 0   100%
tests / test_zenodo_upload.py TestExtractSoftwareForStage.test_returns_empty_for_missing_entity   2 0 0   100%
tests / test_zenodo_upload.py TestBuildMethodsDescription.test_includes_workflow_reference   3 0 0   100%
tests / test_zenodo_upload.py TestBuildMethodsDescription.test_includes_technique_and_devices   3 0 0   100%
tests / test_zenodo_upload.py TestBuildMethodsDescription.test_includes_software_for_rawp   3 0 0   100%
tests / test_zenodo_upload.py TestBuildMethodsDescription.test_no_software_for_raw   2 0 0   100%
tests / test_zenodo_upload.py TestBuildMethodsDescription.test_includes_chad_ap_reference   3 0 0   100%
tests / test_zenodo_upload.py TestBuildMethodsDescription.test_scanning_entity   3 0 0   100%
tests / test_zenodo_upload.py (no function)   128 0 0   100%
Total     1200 72 55   94%

No items found using the specified filter.