tests packageΒΆ

SubmodulesΒΆ

tests.conftest moduleΒΆ

tests.test_actions moduleΒΆ

Tests for repomatic.github.actions run cancellation.

tests.test_actions.test_cancel_superseded_runs_spares_current_run()[source]ΒΆ

Every listed run is cancelled except the caller’s own.

tests.test_actions.test_cancel_superseded_runs_queries_both_statuses()[source]ΒΆ

Both the in-progress and queued listings are swept, paginated.

tests.test_actions.test_cancel_superseded_runs_tolerates_cancel_failure()[source]ΒΆ

A run that fails to cancel is skipped without aborting the sweep.

tests.test_actions.test_cancel_superseded_runs_empty_listing()[source]ΒΆ

No live runs means no cancellation calls and a zero count.

tests.test_awesome_template moduleΒΆ

Tests for bundled awesome-template data and sync logic.

tests.test_awesome_template.test_bundled_files_exist()[source]ΒΆ

All expected awesome-template files are bundled in the package.

tests.test_awesome_template.test_copy_template_tree(tmp_path)[source]ΒΆ

_copy_template_tree copies all files and skips __init__.py.

tests.test_awesome_template.test_copy_template_tree_creates_directories(tmp_path)[source]ΒΆ

_copy_template_tree creates parent directories as needed.

tests.test_awesome_template.test_copied_files_contain_template_slug(tmp_path)[source]ΒΆ

Copied .github/ markdown files contain the template slug for rewriting.

tests.test_awesome_template.test_awesome_template_has_no_pyproject(tmp_path)[source]ΒΆ

awesome-template bundle does not contain pyproject.toml.

The lychee config is registered as a ToolConfigComponent with AWESOME_ONLY scope, so it goes through the standard merge path in _init_tool_configs instead of being blindly overwritten by _copy_template_tree.

tests.test_binaries_page moduleΒΆ

tests.test_binary moduleΒΆ

tests.test_cache moduleΒΆ

tests.test_changelog moduleΒΆ

tests.test_checksums moduleΒΆ

Tests for the binary tool registry checksum update logic.

tests.test_checksums.test_update_registry_checksums_replaces_stale_hash(tmp_path)[source]ΒΆ

update_registry_checksums replaces stale hashes in tool_runner.py.

tests.test_checksums.test_update_registry_checksums_noop_when_current(tmp_path)[source]ΒΆ

update_registry_checksums does not rewrite when all hashes match.

tests.test_checksums.test_update_registry_checksums_reconciles_version_stamp(tmp_path)[source]ΒΆ

A stale VERSIONS stamp is reconciled to the registry version.

tests.test_checksums.test_update_registry_checksums_version_override(tmp_path)[source]ΒΆ

version_overrides downloads at the override version and stamps it.

Models the sync-tool-versions flow: the source was bumped (so the file holds the new version) while the in-memory registry still holds the old one, and the override drives both the download URL and the VERSIONS stamp.

tests.test_dep_sources moduleΒΆ

tests.test_deps_graph moduleΒΆ

tests.test_dev_release moduleΒΆ

tests.test_dev_release.test_sync_dev_release_dry_run(tmp_path)[source]ΒΆ

Dry-run reports without calling gh.

tests.test_dev_release.test_sync_dev_release_live(tmp_path)[source]ΒΆ

Live mode creates new draft pre-release when none exists.

tests.test_dev_release.test_sync_dev_release_edits_existing(tmp_path)[source]ΒΆ

Edits existing release to preserve assets instead of delete+recreate.

tests.test_dev_release.test_sync_dev_release_cleans_stale_releases(tmp_path)[source]ΒΆ

Stale dev releases from previous versions are cleaned up.

tests.test_dev_release.test_sync_dev_release_empty_body(tmp_path)[source]ΒΆ

Returns False when changelog section produces an empty body.

tests.test_dev_release.test_sync_dev_release_body_content(tmp_path)[source]ΒΆ

Verifies the release body includes changelog changes.

tests.test_dev_release.test_cleanup_dev_releases_deletes_all_dev_tags()[source]ΒΆ

Deletes all releases whose tag ends with .dev0.

tests.test_dev_release.test_cleanup_dev_releases_no_dev_releases()[source]ΒΆ

No-op when no dev releases exist.

tests.test_dev_release.test_cleanup_dev_releases_list_failure()[source]ΒΆ

Silently succeeds when release listing fails.

tests.test_dev_release.test_cleanup_dev_releases_delete_failure()[source]ΒΆ

Continues cleaning when individual deletions fail.

tests.test_dev_release.test_cleanup_dev_releases_keeps_current_tag()[source]ΒΆ

Preserves the current version’s dev release when keep_tag is set.

tests.test_dev_release.test_edit_dev_release_success()[source]ΒΆ

Edits an existing release and returns True.

tests.test_dev_release.test_edit_dev_release_not_found()[source]ΒΆ

Returns False when the release does not exist.

tests.test_dev_release.test_delete_dev_release_success()[source]ΒΆ

Calls gh release delete with correct arguments.

tests.test_dev_release.test_delete_dev_release_missing()[source]ΒΆ

Silently succeeds when no dev release exists.

tests.test_dev_release.test_delete_release_by_tag_success()[source]ΒΆ

Calls gh release delete with the given tag.

tests.test_dev_release.test_delete_release_by_tag_immutable()[source]ΒΆ

Silently succeeds for immutable published releases.

tests.test_dev_release.test_delete_release_assets_success()[source]ΒΆ

Deletes assets and returns count.

tests.test_dev_release.test_delete_release_assets_no_release()[source]ΒΆ

Returns 0 when the release does not exist.

tests.test_dev_release.test_delete_release_assets_empty()[source]ΒΆ

Returns 0 when the release has no assets.

tests.test_dev_release.test_delete_release_assets_partial_failure()[source]ΒΆ

Continues when individual asset deletions fail.

tests.test_dev_release.test_upload_release_assets_success(tmp_path)[source]ΒΆ

Uploads matching files and skips unrelated ones.

tests.test_dev_release.test_upload_release_assets_no_files(tmp_path)[source]ΒΆ

Returns empty list and makes no gh calls when no matching files.

tests.test_dev_release.test_upload_release_assets_deletes_existing_first(tmp_path)[source]ΒΆ

Deletes existing assets before uploading new ones.

tests.test_dev_release.test_sync_dev_release_with_assets(tmp_path)[source]ΒΆ

End-to-end: metadata sync + asset upload.

tests.test_dev_release.test_sync_dev_release_dry_run_with_assets(tmp_path)[source]ΒΆ

Dry-run previews asset files without making gh calls.

tests.test_gh moduleΒΆ

tests.test_git_ops moduleΒΆ

tests.test_github_releases moduleΒΆ

tests.test_help moduleΒΆ

tests.test_images moduleΒΆ

tests.test_imports moduleΒΆ

tests.test_init_project moduleΒΆ

tests.test_labeller_rules moduleΒΆ

tests.test_lint_repo moduleΒΆ

tests.test_mailmap moduleΒΆ

tests.test_mailmap.test_remove_header()[source]ΒΆ
tests.test_mailmap.test_mailmap()[source]ΒΆ
tests.test_mailmap.test_new_entry()[source]ΒΆ

tests.test_matrix moduleΒΆ

tests.test_metadata moduleΒΆ

tests.test_myst_docstrings moduleΒΆ

tests.test_platform_keys moduleΒΆ

tests.test_pr moduleΒΆ

Tests for repomatic.github.pr.

tests.test_pr.test_list_open_prs_by_branch_filters_arguments()[source]ΒΆ
tests.test_pr.test_list_open_prs_by_branch_empty()[source]ΒΆ
tests.test_pr.test_close_pr_default_deletes_branch()[source]ΒΆ
tests.test_pr.test_close_pr_can_keep_branch()[source]ΒΆ
tests.test_pr.test_close_open_prs_on_branch_no_match_is_noop()[source]ΒΆ
tests.test_pr.test_close_open_prs_on_branch_closes_every_match()[source]ΒΆ

tests.test_pr_body moduleΒΆ

tests.test_prepare_release moduleΒΆ

tests.test_pypi moduleΒΆ

tests.test_pyproject moduleΒΆ

Tests for pyproject.toml utilities.

tests.test_pyproject.test_get_project_name_from_cwd(tmp_path, monkeypatch)[source]ΒΆ

Test that get_project_name reads from pyproject.toml in CWD.

tests.test_pyproject.test_get_project_name_missing_pyproject(tmp_path, monkeypatch)[source]ΒΆ

Test that get_project_name returns None when no pyproject.toml.

tests.test_pyproject.test_get_project_name_no_project_section(tmp_path, monkeypatch)[source]ΒΆ

Test that get_project_name returns None when no [project] section.

tests.test_pyproject.test_get_project_name_with_preloaded_data()[source]ΒΆ

Test that get_project_name accepts pre-parsed pyproject data.

tests.test_pyproject.test_is_python_project_true_for_pep621(tmp_path)[source]ΒΆ

A PEP 621-compliant [project] table qualifies as a Python project.

tests.test_pyproject.test_is_python_project_false_for_tool_only_pyproject(tmp_path)[source]ΒΆ

pyproject.toml with only [tool.*] tables is not a Python project.

tests.test_pyproject.test_is_python_project_false_for_missing_pyproject(tmp_path)[source]ΒΆ

A directory with no pyproject.toml is not a Python project.

tests.test_pyproject.test_is_python_project_false_for_malformed_toml(tmp_path)[source]ΒΆ

A pyproject.toml that fails to parse is not a Python project.

tests.test_pyproject.test_is_python_project_false_for_invalid_pep621(tmp_path)[source]ΒΆ

A [project] table missing required PEP 621 fields is not Python.

[project] with only name (no version, no dynamic) fails the StandardMetadata.from_pyproject validation, so the repo is not considered Python. Locks in the stricter PEP 621 semantics.

tests.test_pyproject.test_is_python_project_accepts_preloaded_data()[source]ΒΆ

is_python_project accepts a pre-parsed pyproject.toml dict.

tests.test_readme moduleΒΆ

tests.test_release_sync moduleΒΆ

tests.test_setup_guide moduleΒΆ

tests.test_status moduleΒΆ

tests.test_sync_labels moduleΒΆ

tests.test_sync_ops moduleΒΆ

tests.test_tool_runner moduleΒΆ

tests.test_unsubscribe moduleΒΆ

tests.test_uv moduleΒΆ

tests.test_version_sync moduleΒΆ

tests.test_virustotal moduleΒΆ

tests.test_vulnerable_deps moduleΒΆ

tests.test_workflow_sync moduleΒΆ

tests.test_workflows moduleΒΆ