package store import ( "testing" "time" ) func TestAHeldDomainIsKeptUntilReleasedAndHoldingAgainChangesTheReason(t *testing.T) { db := capacityStore(t) ctx := t.Context() at := time.UnixMilli(1_700_000_000_000) if err := db.SetFacilityHold(ctx, FacilityHold{Domain: "rack:r1", Reason: "PDU swap", At: at, By: "ilker"}); err != nil { t.Fatal(err) } if err := db.SetFacilityHold(ctx, FacilityHold{Domain: "rack:r1", Reason: "cooling", Drain: true, At: at, By: "ilker"}); err != nil { t.Fatal(err) } got, err := db.FacilityHolds(ctx) if err != nil || len(got) != 1 { t.Fatalf("got %v, %v; one hold per domain", got, err) } if h := got[0]; h.Reason != "cooling" || !h.Drain || !h.At.Equal(at) || h.By != "ilker" { t.Errorf("the second hold did not replace the first: %+v", h) } if err := db.DeleteFacilityHold(ctx, "rack:r1"); err != nil { t.Fatal(err) } if got, _ := db.FacilityHolds(ctx); len(got) != 0 { t.Errorf("released, still %v", got) } } func TestANodeLabelSetThroughTheControlPlaneIsKeptAndCanBeRemoved(t *testing.T) { db := capacityStore(t) ctx := t.Context() if err := db.SetNodeLabel(ctx, "gpu07", "llmgw.io/rack", "r12-07", "ilker"); err != nil { t.Fatal(err) } if err := db.SetNodeLabel(ctx, "gpu07", "llmgw.io/rack", "r12-08", "ilker"); err != nil { t.Fatal(err) } got, err := db.NodeLabels(ctx) if err != nil || got["gpu07"]["llmgw.io/rack"] != "r12-08" { t.Fatalf("got %v, %v", got, err) } if err := db.SetNodeLabel(ctx, "gpu07", "llmgw.io/rack", "", "ilker"); err != nil { t.Fatal(err) } if got, _ := db.NodeLabels(ctx); len(got["gpu07"]) != 0 { t.Errorf("removed, still %v", got) } }