package host import ( "github.com/carlosframework/platform/internal/hostclaim" "github.com/carlosframework/platform/internal/park" "github.com/carlosframework/platform/internal/provision" "testing" ) func TestPlan13HomeMovePolicy(t *testing.T) { for _, home := range []string{"uk", ""} { c := mpClaim(hostclaim.KindLanding, provision.LandConfigured) c.Op.Intent["to"] = park.HomeRegion c.Op.Intent["home_region"] = home s := mpSelection(c, "restore") policy, _ := mpPolicy() err := policy(t.Context(), c, s, mpIdentity("restore")) if err == nil { t.Fatalf("home=%q: %v", home, err) } } } func TestPlan13VerifiedHomeMovePolicy(t *testing.T) { c := mpClaim(hostclaim.KindLanding, provision.LandConfigured) c.Op.Intent["to"], c.Op.Intent["home_region"] = park.HomeRegion, "uk" s := mpSelection(c, "restore") s.HomeRegion, s.FleetHomeRegion = "uk", "uk" policy, _ := mpPolicy() if err := policy(t.Context(), c, s, mpIdentity("restore")); err != nil { t.Fatal(err) } s.FleetHomeRegion = "ie" if err := policy(t.Context(), c, s, mpIdentity("restore")); err == nil { t.Fatal("conflicting fleet home accepted") } }