Files
bucketeer/internal/discover/discover_test.go
T
StasonJatham dc7bdae99d over-engineering audit: remove dead code, speculative config, duplicate queues
- delete embedded community resolver snapshot (6,760 lines) + EmbeddedServers +
  DNS_SERVERS=fresh; curated resolvers are the default. Simplify Warm (no
  sampling).
- one generic internal/sample.Queue[T] replaces three near-identical
  random-sample queues (probe, pipeline, discover).
- delete unreachable index.listOpenSearch (OpenSearch is never listable).
- delete classifyCloudFront (its match is always discarded, !ResourceSpecific).
- delete probe.Probe wrapper + Describe; tests use ProbeDetailed.
- delete store.Pool(), model.SourceDNSAlias, discover.QueueLen.
- drop dead config/no-op knobs: pipeline DirectWorkers, discover MaxPerDomain,
  discover S3/GCS/DO flags, BUCKET_SCAN_DO.
~-7,000 lines (mostly the resolver snapshot), 0 deps removed, tests green.
2026-09-22 17:12:30 +02:00

49 lines
1.1 KiB
Go

package discover
import (
"strings"
"testing"
)
func TestCandidatesAreExactLabelsOnly(t *testing.T) {
got := candidates("assets.example.com")
if len(got) != 2 || got[0] != "assets" || got[1] != "example" {
t.Fatalf("candidates = %v, want [assets example] (no fabricated names)", got)
}
for _, c := range got {
if !validBucketName(c) {
t.Fatalf("invalid candidate %q", c)
}
}
}
func TestBaseLabelsSkipsNoise(t *testing.T) {
got := baseLabels("www.example.com")
if len(got) != 1 || got[0] != "example" {
t.Fatalf("baseLabels = %v, want [example]", got)
}
if baseLabels("example") != nil {
t.Fatal("single label must yield no base")
}
}
func TestTargets(t *testing.T) {
d := New(Config{})
ts := d.targets("example")
if len(ts) != 2 {
t.Fatalf("got %d targets, want 2", len(ts))
}
var s3, gcs bool
for _, tg := range ts {
switch {
case strings.Contains(tg.URL, "example.s3.amazonaws.com/?list-type=2"):
s3 = true
case strings.Contains(tg.URL, "storage.googleapis.com/example"):
gcs = true
}
}
if !s3 || !gcs {
t.Fatalf("missing targets: s3=%v gcs=%v (%v)", s3, gcs, ts)
}
}