Initial commit of Descrybe v2 without local scratch artifacts.

Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
This commit is contained in:
2026-08-09 22:47:43 +02:00
commit 8580c996c3
1285 changed files with 325780 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
package main
import (
"os"
"testing"
)
func TestScanA1ProcessingJobsSmoke(t *testing.T) {
dump := os.Getenv("SEED_A1_MYSQL_DUMP")
if dump == "" {
dump = `d:\Users\Green Eclipse\Downloads\descrybe_new.sql`
}
if _, err := os.Stat(dump); err != nil {
t.Skipf("mysql dump not available: %v", err)
}
f, err := os.Open(dump)
if err != nil {
t.Fatal(err)
}
defer f.Close()
jobs, err := scanA1ProcessingJobs(f, "97e1a309-3d23-4aa2-b518-8e8d7afdfec7")
if err != nil {
t.Fatal(err)
}
if len(jobs) < 100 {
t.Fatalf("expected many A1 jobs, got %d", len(jobs))
}
has := false
for _, j := range jobs {
if j.id == "827f0b82-3214-4c1d-bf05-2455bbd66fc6" {
has = true
if j.status != "completed" || j.totalProducts != 1 {
t.Fatalf("target job unexpected status=%s total=%d", j.status, j.totalProducts)
}
}
}
if !has {
t.Fatal("missing target job 827f0b82-…")
}
}
func TestParseMySQLTupleFields(t *testing.T) {
fields := parseMySQLTupleFields("('827f0b82-3214-4c1d-bf05-2455bbd66fc6',\t'user_x',\t'97e1a309-3d23-4aa2-b518-8e8d7afdfec7',\t'completed',\t1,\t1,\tNULL,\t'2026-07-31 08:36:45',\t'2026-07-31 08:36:58',\t'2026-07-31 08:36:45',\t'2026-07-31 08:36:58',\t'full',\tNULL,\t7500),")
if len(fields) < 14 {
t.Fatalf("fields=%d %#v", len(fields), fields)
}
if fields[0] != "827f0b82-3214-4c1d-bf05-2455bbd66fc6" || fields[2] != "97e1a309-3d23-4aa2-b518-8e8d7afdfec7" {
t.Fatalf("unexpected fields %#v", fields)
}
}
func TestParseDumpJobID(t *testing.T) {
id, err := parseDumpJobID("827f0b82-3214-4c1d-bf05-2455bbd66fc6")
if err != nil || id.String() != "827f0b82-3214-4c1d-bf05-2455bbd66fc6" {
t.Fatalf("uuid parse: %v %s", err, id)
}
sha, err := parseDumpJobID("12345")
if err != nil || sha.String() == "12345" {
t.Fatalf("sha1 remap expected, got %v %s", err, sha)
}
}