tests.test_runs module

Tests for repomatic.github.runs listings and run cancellation.

tests.test_runs.test_cancel_superseded_runs_spares_current_run()[source]

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

tests.test_runs.test_cancel_superseded_runs_queries_both_statuses()[source]

Both the in-progress and queued listings are swept, every page of them.

tests.test_runs.test_cancel_superseded_runs_encodes_the_branch()[source]

A branch carrying query syntax stays one parameter of the listing.

tests.test_runs.test_cancel_superseded_runs_tolerates_cancel_failure()[source]

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

tests.test_runs.test_cancel_superseded_runs_cancels_a_run_listed_twice_once()[source]

A run that changed status between the two listings is cancelled once.

tests.test_runs.test_cancel_superseded_runs_spares_release_runs()[source]

A run publishing a release survives the sweep.

Nothing else protects it: this sweep enters no concurrency group, so the release groups of the workflows never shield it, and a cancelled release matrix costs that version its binaries for good. A rebase-merged release push ends on its post-release bump, so its runs carry that title, not the title of the release commit.

tests.test_runs.test_workflow_runs_sends_a_created_filter()[source]

The listing names the workflow, the branch, the status and the window.

tests.test_runs.test_workflow_runs_pages_up_to_the_limit()[source]

A limit past one page reads the next page, then stops at the limit.

tests.test_runs.test_workflow_runs_stops_on_a_short_page()[source]

A page shorter than asked is the last one: no further call is made.

tests.test_runs.test_workflow_runs_raises_only_when_strict()[source]

A gh that cannot run fails a strict read and empties a lenient one.

tests.test_runs.test_commit_runs_reads_the_commit_listing()[source]

One page of the commit’s runs, filtered on its full SHA.

tests.test_runs.test_read_run_requests_the_fields_named(answer, expected)[source]

The run is read by ID, and only a JSON object counts as a run.

tests.test_runs.test_read_run_soft_swallows_a_failed_call()[source]

A soft read of a run gh cannot reach is no run, not a traceback.

tests.test_runs.test_job_log_reads_the_job_endpoint_and_strips_colours()[source]

A job’s log is read by ID, with the escape sequences gone on arrival.