carlos / platform Public

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

Plain git — no account needed to clone.

Download

Download this file

1package instancectl
2
3import (
4 "context"
5 "net/http"
6 "strings"
7 "testing"
8)
9
10func TestPlan14GenerationLegacyLaunchTransport(t *testing.T) {
11 ctl := &fakeCtl{}
12 _, socket := serveOnSocket(t, ctl, func(s *Server) {
13 s.ClaimStop = http.HandlerFunc(func(http.ResponseWriter, *http.Request) {
14 t.Error("legacy request reached claim authority")
15 })
16 })
17 c := NewClient(socket)
18 x := StagedExe{Path: "/opt/carlos/versions/v1/app", Version: "v1", Digest: strings.Repeat("a", 64)}
19 for name, run := range map[string]func(context.Context) error{
20 "run-live": func(ctx context.Context) error { _, e := c.Start(ctx, "legacy.example", RoleRun, 536870912); return e },
21 "run-staged": func(ctx context.Context) error {
22 _, e := c.StartExe(ctx, "legacy.example", RoleRun, 536870912, x)
23 return e
24 },
25 "generation-live": func(ctx context.Context) error { _, e := c.StartGen(ctx, "legacy.example", 7, 536870912); return e },
26 "generation-staged": func(ctx context.Context) error {
27 _, e := c.StartGenExe(ctx, "legacy.example", 7, 536870912, x)
28 return e
29 },
30 "seed-live": func(ctx context.Context) error { _, e := c.Seed(ctx, "legacy.example", 536870912); return e },
31 "seed-staged": func(ctx context.Context) error { _, e := c.SeedExe(ctx, "legacy.example", 536870912, x); return e },
32 "sidecar-live": func(ctx context.Context) error {
33 _, e := c.Start(ctx, "legacy.example", RoleSidecar, 536870912)
34 return e
35 },
36 "sidecar-staged": func(ctx context.Context) error {
37 _, e := c.StartSidecarExe(ctx, "legacy.example", 536870912, x)
38 return e
39 },
40 } {
41 t.Run(name, func(t *testing.T) {
42 if err := run(t.Context()); err == nil || !strings.Contains(err.Error(), ": 503:") {
43 t.Fatalf("legacy launch did not meet root refusal: %v", err)
44 }
45 })
46 }
47 if got := ctl.joined(); got != "" {
48 t.Fatalf("legacy launch reached systemctl: %s", got)
49 }
50}
51