Initial commit on Forgejo
All checks were successful
CI and deploy / Test (push) Successful in 4m52s
CI and deploy / Deploy production (push) Successful in 23s

Fresh repository history for elektrine/tarakan hosted at
https://git.elektrine.com/elektrine/tarakan.
This commit is contained in:
Maxfield Luke 2026-07-29 04:43:40 -04:00
commit af6077b9c3
455 changed files with 78366 additions and 0 deletions

View file

@ -0,0 +1,72 @@
defmodule TarakanWeb.ModelAnalyticsLiveTest do
use TarakanWeb.ConnCase, async: true
import Phoenix.LiveViewTest
alias Tarakan.Repo
alias Tarakan.Scans.CanonicalFinding
defp confirm_findings(scan) do
for occurrence <- scan.findings do
CanonicalFinding
|> Repo.get!(occurrence.canonical_finding_id)
|> Ecto.Changeset.change(status: "verified")
|> Repo.update!()
end
end
test "says so plainly when nothing has been reported", %{conn: conn} do
{:ok, _view, html} = live(conn, ~p"/models")
assert html =~ "No model has reported enough findings yet"
end
# The scoreboard hides models below five reported findings, so both models
# need a real body of work before they show up at all.
defp unrelated_findings_json(count) do
findings =
for index <- 1..count do
%{
"file" => "lib/unrelated/module_#{index}.ex",
"line_start" => index * 7,
"line_end" => index * 7 + 2,
"severity" => "low",
"title" => "Unrelated observation (#{index})",
"description" => "Something else entirely."
}
end
Jason.encode!(%{"tarakan_scan_format" => 1, "findings" => findings})
end
test "scores models and lists the selected model's blind spots", %{conn: conn} do
account = github_account_fixture()
repository = github_repository_fixture(account)
found =
scan_fixture(repository, account, %{
"model" => "sharp-model",
"findings_json" => findings_json_fixture(5)
})
confirm_findings(found)
scan_fixture(repository, account, %{
"model" => "blunt-model",
"findings_json" => unrelated_findings_json(5)
})
{:ok, view, html} = live(conn, ~p"/models")
assert html =~ "sharp-model"
assert html =~ "blunt-model"
html =
view
|> element("#model-row-blunt-model")
|> render_click()
assert html =~ "Blind spots"
assert html =~ "Unsanitized input reaches interpolated query"
end
end