Finalize repo-scoping runtime rename

This commit is contained in:
2026-05-15 21:16:34 +02:00
parent 084159e51c
commit 28fad1b248
62 changed files with 445 additions and 305 deletions

View File

@@ -1,7 +1,21 @@
from repo_registry.repo_ingestion.metadata import RepositoryMetadataExtractor
from repo_scoping.repo_ingestion.metadata import RepositoryMetadataExtractor
def test_metadata_prefers_pyproject(tmp_path):
def test_metadata_prefers_source_identity_over_pyproject(tmp_path):
repo = tmp_path / "repo-scoping"
repo.mkdir()
(repo / "pyproject.toml").write_text(
'[project]\nname = "repo-registry"\ndescription = "Repository Scoping."\n',
encoding="utf-8",
)
metadata = RepositoryMetadataExtractor().extract(repo, str(repo))
assert metadata.name == "repo-scoping"
assert metadata.description == "Repository Scoping."
def test_metadata_uses_pyproject_when_source_name_is_generic(tmp_path):
repo = tmp_path / "repo"
repo.mkdir()
(repo / "pyproject.toml").write_text(
@@ -15,7 +29,7 @@ def test_metadata_prefers_pyproject(tmp_path):
assert metadata.description == "Extract invoice data."
def test_metadata_uses_package_json(tmp_path):
def test_metadata_uses_package_json_when_source_name_is_generic(tmp_path):
repo = tmp_path / "repo"
repo.mkdir()
(repo / "package.json").write_text(
@@ -29,8 +43,8 @@ def test_metadata_uses_package_json(tmp_path):
assert metadata.description == "Browse repository abilities."
def test_metadata_falls_back_to_readme_title(tmp_path):
repo = tmp_path / "repo-name"
def test_metadata_uses_readme_title_when_source_name_is_generic(tmp_path):
repo = tmp_path / "repository"
repo.mkdir()
(repo / "README.md").write_text(
"# Useful Registry\n\nExtra details follow.\n",
@@ -41,3 +55,19 @@ def test_metadata_falls_back_to_readme_title(tmp_path):
assert metadata.name == "Useful Registry"
assert metadata.description == "Extra details follow."
def test_metadata_strips_git_suffix_from_url_identity(tmp_path):
repo = tmp_path / "checkout"
repo.mkdir()
(repo / "pyproject.toml").write_text(
'[project]\nname = "old-package-name"\n',
encoding="utf-8",
)
metadata = RepositoryMetadataExtractor().extract(
repo,
"https://example.test/acme/repo-scoping.git",
)
assert metadata.name == "repo-scoping"