package hostactors import ( "strings" "testing" "time" ) func TestPlan11ConsoleReenrollmentGetsItsOwnTime(t *testing.T) { t.Setenv("CARLOS_HOST_CLAIM", "1") d, sg, before := fixture(t) next := Clone(before.Roster) next.Consoles["console"] = Console{Enrollment: strings.Repeat("d", 32), InstanceID: "console", Namespaces: []string{"platform"}, DeploymentBucket: d.Bucket} first, err := d.Replace(t.Context(), sg, before, next) if err != nil { t.Fatal(err) } next = Clone(first.Roster) c := next.Consoles["console"] c.Enrollment = strings.Repeat("e", 32) next.Consoles["console"] = c if _, err := d.Replace(t.Context(), sg, first, next); err == nil { t.Fatal("new console enrollment inherited the old enrollment time") } c.EnrolledAt = time.Time{} next.Consoles["console"] = c started := time.Now().UTC() second, err := d.Replace(t.Context(), sg, first, next) if err != nil { t.Fatal(err) } if second.Roster.Consoles["console"].EnrolledAt.Before(started) { t.Fatal("new console enrollment did not get root's current time") } }