package console import ( "github.com/carlosframework/platform/internal/hostclaim" "github.com/carlosframework/platform/internal/park" "testing" ) func TestPlan13VerifiedLegacyHomeRead(t *testing.T) { for _, which := range []string{"home", "named", "no-bucket", "invalid", "explicit"} { cfg := Config{HostClaim: true, HibernateRegion: "eu-west-1", HibernateBucket: "data"} switch which { case "named": cfg.Region = "uk" case "no-bucket": cfg.HibernateBucket = "" case "invalid": cfg.HibernateRegion = "@home" case "explicit": cfg.HomeRegion = "ie" } h := hostclaim.Holder{Admissions: []hostclaim.AdmissionRecord{{Region: "eu-west-1", PredecessorRegion: "eu-west-1"}}} got := park.HolderRegionView(h, cfg.dbClaimHomeRegion(), cfg.dbClaimRegion()) want := "eu-west-1" if which == "home" { want = park.HomeRegion } if got.Admissions[0].Region != want || h.Admissions[0].Region != "eu-west-1" { t.Fatal(which, got) } } } func TestPlan13UnnamedHomeUnfinishedSelection(t *testing.T) { s, g, _, m := doorPlanFixture(t, true) s.cfg.HomeRegion = "" s.cfg.HibernateRegion = "eu-west-1" c := cloneDoorClaim(g.claim.Claim) c.Holder.Generation = "next" c.Holder.Admissions = []hostclaim.AdmissionRecord{{Generation: "next", Predecessor: hostclaim.RootGeneration, Region: "eu-west-1", PredecessorRegion: "eu-west-1", Mode: "cold"}} writeDoorClaim(t, s, g, c) var err error g.claim, err = hostclaim.Read(t.Context(), s.cfg.Releases, g.host) if err != nil { t.Fatal(err) } m.Put("data", dbVersionKey(c.Holder.Location, 0, 1, 1), doorLTXHeader(t, 1, 1)) got, err := s.listDBVersions(t.Context(), g, 0) if err != nil || len(got.Files) != 1 { t.Fatal(got, err) } }