Initial curated RepoPulse source from 2524ccc3c1c27739996dccb2b7992989f88cd26d

This commit is contained in:
Public Source Publisher committed 2026-10-01 01:34:52 +02:00
commit 0adf8ef5d9
90 files changed
+14315

No files matched your search

+86
View File
@@ -0,0 +1,86 @@
from __future__ import annotations
import sqlite3
from pathlib import Path
from app.models import (
DependencySignals,
RepositoryMetrics,
ScanReport,
)
from app.models import (
TestSignals as SignalsModel,
)
from app.scanner import scan_repository
from app.store import SCHEMA_VERSION, ScanStore
def test_v1_scan_schema_is_migrated_and_legacy_history_is_cataloged(tmp_path: Path) -> None:
database = tmp_path / "history.db"
report = ScanReport(
id="legacy-scan",
repository_path=str((tmp_path / "repo").resolve()),
repository_name="repo",
scanned_at="2026-09-12T00:00:00+00:00",
duration_ms=1,
metrics=RepositoryMetrics(),
languages={},
category_scores={},
health_score=100,
release_readiness="READY",
findings=[],
tests=SignalsModel(),
dependencies=DependencySignals(),
)
connection = sqlite3.connect(database)
connection.execute(
"""
CREATE TABLE scans (
id TEXT PRIMARY KEY,
repository_path TEXT NOT NULL,
repository_name TEXT NOT NULL,
scanned_at TEXT NOT NULL,
health_score INTEGER NOT NULL,
report_json TEXT NOT NULL
)
"""
)
connection.execute(
"INSERT INTO scans VALUES (?, ?, ?, ?, ?, ?)",
(report.id, report.repository_path, report.repository_name, report.scanned_at.isoformat(), 100, report.model_dump_json()),
)
connection.commit()
connection.close()
store = ScanStore(str(database))
assert store.get_state("missing") is None
assert store.repository_count() == 1
migrated = store.get("legacy-scan")
assert migrated is not None
assert migrated.source.provider == "local"
assert migrated.source.repository_id is not None
assert store.list_repositories()[0].last_scan_id == "legacy-scan"
connection = sqlite3.connect(database)
assert connection.execute("PRAGMA user_version").fetchone()[0] == SCHEMA_VERSION
connection.close()
def test_schema_upgrade_creates_a_timestamped_pre_migration_backup(tmp_path: Path) -> None:
database = tmp_path / "history.db"
repository = tmp_path / "repo"
repository.mkdir()
(repository / "README.md").write_text("# Demo\n", encoding="utf-8")
(repository / ".gitignore").write_text("*.db\n", encoding="utf-8")
original = ScanStore(str(database))
saved = original.save(scan_repository(str(repository)))
connection = sqlite3.connect(database)
connection.execute("PRAGMA user_version = 3")
connection.commit()
connection.close()
migrated = ScanStore(str(database))
assert list(tmp_path.glob("history.db.pre-v3-*.bak"))
assert migrated.get(saved.id) is not None