44
55from pathlib import Path
66import re
7- import pytest
87from typing import List , Optional
98
9+ import pytest
1010
1111README_CANDIDATES = [
1212 Path ("README.md" ),
@@ -57,8 +57,7 @@ def test_top_badges_present(readme_text: str) -> None:
5757 t ,
5858 ), "GitHub release (latest SemVer) badge should be present"
5959 assert re .search (
60- r"https://img\.shields\.io/static/v1\?label=Used%20by&message=\d+&color=informational" ,
61- t ,
60+ r"https://img\.shields\.io/static/v1\?label=Used%20by&message=\d+&color=informational" , t
6261 ), "'Used by' shields.io badge should be present (do not assert specific count)"
6362 assert "https://img.shields.io/badge/Marketplace-commit--check--action-blue" in t , "Marketplace badge should be present"
6463 assert re .search (r"slsa\.dev/images/gh-badge-level3\.svg\?color=blue" , t ), "SLSA level 3 badge should be present"
@@ -75,7 +74,9 @@ def test_table_of_contents_has_expected_links(readme_text: str) -> None:
7574 ]
7675 for anchor in anchors :
7776 slug = anchor .lower ().replace (" " , "-" )
78- assert re .search (rf"^\* \[{ re .escape (anchor )} \]\(#{ re .escape (slug )} \)\s*$" , readme_text , flags = re .MULTILINE ), f"TOC entry for { anchor } should exist"
77+ assert re .search (
78+ rf"^\* \[{ re .escape (anchor )} \]\(#{ re .escape (slug )} \)\s*$" , readme_text , flags = re .MULTILINE
79+ ), f"TOC entry for { anchor } should exist"
7980
8081
8182def test_usage_yaml_block_contains_required_items (readme_text : str ) -> None :
@@ -104,7 +105,9 @@ def test_usage_yaml_block_contains_required_items(readme_text: str) -> None:
104105
105106 # Validate GitHub expressions patterns
106107 assert re .search (r"\$\{\{\s*github\.event\.pull_request\.head\.sha\s*\}\}" , y ), "PR head SHA expression must be present"
107- assert re .search (r"\$\{\{\s*github\.event_name\s*==\s*['\"]pull_request['\"]\s*\}\}" , y ), "Conditional pr-comments expression must be present"
108+ assert re .search (
109+ r"\$\{\{\s*github\.event_name\s*==\s*['\"]pull_request['\"]\s*\}\}" , y
110+ ), "Conditional pr-comments expression must be present"
108111
109112
110113def test_commit_check_action_inputs_in_usage_block (readme_text : str ) -> None :
@@ -212,7 +215,10 @@ def test_workflow_badge_consistency(readme_text: str) -> None:
212215 # Top badge and badging section should reference the same workflow path
213216 t = readme_text
214217 # Extract all commit-check workflow badge URLs
215- urls = re .findall (r"https://github\.com/commit-check/commit-check-action/actions/workflows/commit-check\.yml(?:/badge\.svg)?" , t )
218+ urls = re .findall (
219+ r"https://github\.com/commit-check/commit-check-action/actions/workflows/commit-check\.yml(?:/badge\.svg)?" ,
220+ t ,
221+ )
216222 assert urls , "Expected workflow badge/link URLs"
217223 # Ensure both base workflow URL and badge.svg appear
218224 assert any (u .endswith ("badge.svg" ) for u in urls ) or "actions/workflows/commit-check.yml/badge.svg" in t , "badge.svg URL should be present"
0 commit comments