carlos / platform Public

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

Plain git — no account needed to clone.

Download

Download this file

1package hostactors
2
3import (
4 "strings"
5 "testing"
6 "time"
7)
8
9func TestPlan11ConsoleReenrollmentGetsItsOwnTime(t *testing.T) {
10 t.Setenv("CARLOS_HOST_CLAIM", "1")
11 d, sg, before := fixture(t)
12 next := Clone(before.Roster)
13 next.Consoles["console"] = Console{Enrollment: strings.Repeat("d", 32), InstanceID: "console", Namespaces: []string{"platform"}, DeploymentBucket: d.Bucket}
14 first, err := d.Replace(t.Context(), sg, before, next)
15 if err != nil {
16 t.Fatal(err)
17 }
18 next = Clone(first.Roster)
19 c := next.Consoles["console"]
20 c.Enrollment = strings.Repeat("e", 32)
21 next.Consoles["console"] = c
22 if _, err := d.Replace(t.Context(), sg, first, next); err == nil {
23 t.Fatal("new console enrollment inherited the old enrollment time")
24 }
25 c.EnrolledAt = time.Time{}
26 next.Consoles["console"] = c
27 started := time.Now().UTC()
28 second, err := d.Replace(t.Context(), sg, first, next)
29 if err != nil {
30 t.Fatal(err)
31 }
32 if second.Roster.Consoles["console"].EnrolledAt.Before(started) {
33 t.Fatal("new console enrollment did not get root's current time")
34 }
35}
36