tests.test_workflow_files moduleΒΆ

Tests for repomatic.github.workflow_files.

tests.test_workflow_files.test_workflow_dir_is_the_one_github_reads()[source]ΒΆ

The directory every reader walks is the one GitHub runs workflows from.

tests.test_workflow_files.test_loader_prefers_libyaml()[source]ΒΆ

The C loader parses when this PyYAML build ships it.

tests.test_workflow_files.test_workflow_paths_reads_both_extensions(tmp_path)[source]ΒΆ

GitHub reads .yml too, so a downstream repository may use it.

tests.test_workflow_files.test_workflow_paths_of_a_missing_directory(tmp_path)[source]ΒΆ

A repository with no workflows has nothing to walk.

tests.test_workflow_files.test_github_yaml_paths_covers_workflows_and_actions(tmp_path)[source]ΒΆ

Composite actions carry pins too, at any depth under .github/actions/.

tests.test_workflow_files.test_load_workflow(text, expected)[source]ΒΆ

Only a mapping is a workflow; anything else reads as None.

tests.test_workflow_files.test_parse_workflow_texts_warns_about_a_broken_file(tmp_path, caplog)[source]ΒΆ

A file that does not parse is named in a warning, then skipped.

tests.test_workflow_files.test_load_workflows_reads_the_directory(tmp_path)[source]ΒΆ

Texts and parses come from the same sorted walk.

tests.test_workflow_files.test_workflow_triggers(text, expected)[source]ΒΆ

Both spellings of on read the same, and a non-mapping reads empty.

tests.test_workflow_files.test_workflow_triggers_of_a_non_mapping()[source]ΒΆ

A document that is not a mapping declares no trigger.

tests.test_workflow_files.test_jobs_of(data, expected)[source]ΒΆ

Only job mappings are walked, whatever else jobs: holds.

tests.test_workflow_files.test_steps_of(job, expected)[source]ΒΆ

Only step mappings are walked, whatever else steps: holds.

tests.test_workflow_files.test_iter_jobs_and_steps_cross_every_workflow()[source]ΒΆ

The walkers name the file and the job each item comes from.

tests.test_workflow_files.test_literal_runners(tmp_path, runner, expected)[source]ΒΆ

Every literal runs-on: is reported, axis membership notwithstanding.

tests.test_workflow_files.test_literal_runners_skips_thin_callers(tmp_path)[source]ΒΆ

A delegating job contributes no runner: it names none of its own.

tests.test_workflow_files.test_literal_runners_groups_every_location(tmp_path)[source]ΒΆ

One image named by several jobs reports all of them, sorted by file.

tests.test_workflow_files.test_literal_runners_reads_the_working_directory_by_default(tmp_path, monkeypatch)[source]ΒΆ

With no argument, the repository in the working directory is read.