39 lines
1.1 KiB
Go
39 lines
1.1 KiB
Go
package agents
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"g.fc.run/misc/byre/internal/api"
|
|
)
|
|
|
|
func TestReviewVendor(t *testing.T) {
|
|
if got := reviewVendor(api.Claude); got != api.Codex {
|
|
t.Fatalf("reviewer for a claude task: %s", got)
|
|
}
|
|
if got := reviewVendor(api.Codex); got != api.Claude {
|
|
t.Fatalf("reviewer for a codex task: %s", got)
|
|
}
|
|
}
|
|
|
|
func TestReviewLine(t *testing.T) {
|
|
result := map[string]any{
|
|
"summary": "Mostly fine.",
|
|
"findings": []any{
|
|
map[string]any{"severity": "high", "title": "Nil map write", "detail": "Panics on first use.", "path": "a.go", "line": float64(12)},
|
|
map[string]any{"severity": "low", "title": "Typo", "detail": "Spelling."},
|
|
},
|
|
}
|
|
got := reviewLine(api.Review{SnapshotN: 3, State: api.ReviewStateDone, Result: &result})
|
|
want := "review of snapshot 3: Mostly fine.\n" +
|
|
" - [high] Nil map write (a.go:12): Panics on first use.\n" +
|
|
" - [low] Typo: Spelling."
|
|
if got != want {
|
|
t.Fatalf("reviewLine:\n%s\nwant:\n%s", got, want)
|
|
}
|
|
|
|
failed := reviewLine(api.Review{SnapshotN: 4, State: api.ReviewStateFailed, Error: "boom"})
|
|
if failed != "review of snapshot 4 failed: boom" {
|
|
t.Fatalf("failed reviewLine %q", failed)
|
|
}
|
|
}
|