//go:build integration package inventory import "testing" // novox/hq issue 1708 (1708/AC6): a refused registration is kept by its build's id, the first refusal standing, and // read back for the builds asked about only. func TestARefusedRegistrationIsKeptByItsBuild(t *testing.T) { inv := ForTest(t) ctx := t.Context() if err := inv.RecordRefused(ctx, "build-1708-a", "nodered", "a port is taken"); err != nil { t.Fatal(err) } if err := inv.RecordRefused(ctx, "build-1708-a", "nodered", "said again"); err != nil { t.Fatalf("a refusal said twice was refused: %v", err) } got, err := inv.RefusedOf(ctx, []string{"build-1708-a", "build-1708-b"}) if err != nil { t.Fatal(err) } if len(got) != 1 || got["build-1708-a"] != "a port is taken" { t.Fatalf("the refusals read back are %v", got) } if none, err := inv.RefusedOf(ctx, nil); err != nil || len(none) != 0 { t.Fatalf("no builds asked about answered %v %v", none, err) } }