carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

1package console
2
3import (
4 "github.com/carlosframework/platform/internal/hostclaim"
5 "github.com/carlosframework/platform/internal/park"
6 "testing"
7)
8
9func TestPlan13VerifiedLegacyHomeRead(t *testing.T) {
10 for _, which := range []string{"home", "named", "no-bucket", "invalid", "explicit"} {
11 cfg := Config{HostClaim: true, HibernateRegion: "eu-west-1", HibernateBucket: "data"}
12 switch which {
13 case "named":
14 cfg.Region = "uk"
15 case "no-bucket":
16 cfg.HibernateBucket = ""
17 case "invalid":
18 cfg.HibernateRegion = "@home"
19 case "explicit":
20 cfg.HomeRegion = "ie"
21 }
22 h := hostclaim.Holder{Admissions: []hostclaim.AdmissionRecord{{Region: "eu-west-1", PredecessorRegion: "eu-west-1"}}}
23 got := park.HolderRegionView(h, cfg.dbClaimHomeRegion(), cfg.dbClaimRegion())
24 want := "eu-west-1"
25 if which == "home" {
26 want = park.HomeRegion
27 }
28 if got.Admissions[0].Region != want || h.Admissions[0].Region != "eu-west-1" {
29 t.Fatal(which, got)
30 }
31 }
32}
33
34func TestPlan13UnnamedHomeUnfinishedSelection(t *testing.T) {
35 s, g, _, m := doorPlanFixture(t, true)
36 s.cfg.HomeRegion = ""
37 s.cfg.HibernateRegion = "eu-west-1"
38 c := cloneDoorClaim(g.claim.Claim)
39 c.Holder.Generation = "next"
40 c.Holder.Admissions = []hostclaim.AdmissionRecord{{Generation: "next", Predecessor: hostclaim.RootGeneration, Region: "eu-west-1", PredecessorRegion: "eu-west-1", Mode: "cold"}}
41 writeDoorClaim(t, s, g, c)
42 var err error
43 g.claim, err = hostclaim.Read(t.Context(), s.cfg.Releases, g.host)
44 if err != nil {
45 t.Fatal(err)
46 }
47 m.Put("data", dbVersionKey(c.Holder.Location, 0, 1, 1), doorLTXHeader(t, 1, 1))
48 got, err := s.listDBVersions(t.Context(), g, 0)
49 if err != nil || len(got.Files) != 1 {
50 t.Fatal(got, err)
51 }
52}
53