generated from coulomb/repo-seed
Route auto review requests to agentic review
This commit is contained in:
48
tests/test_agentic_review.py
Normal file
48
tests/test_agentic_review.py
Normal file
@@ -0,0 +1,48 @@
|
||||
from repo_registry.core.service import RegistryService
|
||||
from repo_registry.repo_ingestion.git import GitIngestionService
|
||||
from repo_registry.storage.sqlite import RegistryStore
|
||||
|
||||
|
||||
class RecordingAgenticReviewer:
|
||||
reviewer_id = "test-agent"
|
||||
policy_version = "agentic-review-policy/test"
|
||||
|
||||
def __init__(self):
|
||||
self.requests = []
|
||||
|
||||
def review(self, request):
|
||||
self.requests.append(request)
|
||||
|
||||
|
||||
def test_configured_agentic_reviewer_receives_graph_gates_and_criteria(tmp_path):
|
||||
source = tmp_path / "repo"
|
||||
source.mkdir()
|
||||
(source / "README.md").write_text("# Agentic Review\nReports health.\n", encoding="utf-8")
|
||||
(source / "app.py").write_text('@app.get("/health")\ndef health():\n return {}\n', encoding="utf-8")
|
||||
store = RegistryStore(tmp_path / "registry.sqlite3")
|
||||
store.initialize()
|
||||
reviewer = RecordingAgenticReviewer()
|
||||
service = RegistryService(
|
||||
store,
|
||||
ingestion=GitIngestionService(tmp_path / "checkouts"),
|
||||
agentic_reviewer=reviewer,
|
||||
)
|
||||
repository = service.register_repository(name="Agentic Review", url=str(source))
|
||||
|
||||
summary = service.analyze_repository(
|
||||
repository.id,
|
||||
use_llm_assistance=False,
|
||||
agentic_review=True,
|
||||
)
|
||||
|
||||
graph = service.candidate_graph(repository.id, summary.analysis_run.id)
|
||||
decisions = service.list_review_decisions(repository.id, summary.analysis_run.id)
|
||||
assert len(reviewer.requests) == 1
|
||||
request = reviewer.requests[0]
|
||||
assert request.repository.id == repository.id
|
||||
assert request.candidate_graph.analysis_run.id == summary.analysis_run.id
|
||||
assert request.criteria_version == "repo-scoping-quality-criteria/v1"
|
||||
assert request.quality_gate_outcomes == []
|
||||
assert graph.abilities[0].capabilities[0].status == "candidate"
|
||||
assert decisions[0].action == "agentic_review_completed"
|
||||
assert "reviewer=test-agent" in decisions[0].notes
|
||||
Reference in New Issue
Block a user