package api import ( "testing" fleetai "crypto-miner-server/internal/ai" "crypto-miner-server/internal/db" ) func TestCloudVenueIngest(t *testing.T) { dbi, e := db.New(t.TempDir()) if e != nil { t.Fatal(e) } t.Cleanup(func() { _ = dbi.Close() }) h := NewWSHub(dbi) h.ingestCloudVenueReport("a", fleetai.CloudVenueReport{InstanceType: "g4dn.xlarge", OrganizationalUnit: "ou/gpu"}) if len(h.cloudVenueSnapshot()) != 1 { t.Fatal("expected venue snapshot") } } func TestCloudVenueClassBatchSpot(t *testing.T) { if fleetai.InferCloudVenueClass(fleetai.CloudVenueReport{Workload: "batch"}) != fleetai.CloudVenueBatch { t.Fatal("expected batch class") } if fleetai.InferCloudVenueClass(fleetai.CloudVenueReport{InstanceLifecycle: "spot"}) != fleetai.CloudVenueSpot { t.Fatal("expected spot class") } }