088be32ec5
- Runner: context, POST /api/scans/{id}/cancel, частичный canceled; Start до ответа createScan
- API: scanPathID (PathUnescape), лог при 404; Postgres GetScan логирует ошибки чтения
- newScanID: суффикс 8 hex; тест обновлён
- Web UI: убраны строки scan_id/from-to; скрытое поле scanId; cancel при таймауте/новом скане
Made-with: Cursor
30 lines
619 B
Go
30 lines
619 B
Go
package scans
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestNewScanIDShape(t *testing.T) {
|
|
id, err := newScanID([]string{"192.168.160.0/24"})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
parts := strings.Split(id, "_")
|
|
if len(parts) < 3 {
|
|
t.Fatalf("expected at least time_slug_suffix, got %q", id)
|
|
}
|
|
if len(parts[len(parts)-1]) != 8 {
|
|
t.Fatalf("expected 8-hex suffix, got %q", id)
|
|
}
|
|
if !strings.Contains(id, "192.168.160.0_24") {
|
|
t.Fatalf("expected sanitized cidr in id: %q", id)
|
|
}
|
|
}
|
|
|
|
func TestSanitizeScanSlug(t *testing.T) {
|
|
if g := sanitizeScanSlug("10.0.0.0/8"); g != "10.0.0.0_8" {
|
|
t.Fatalf("got %q", g)
|
|
}
|
|
}
|