From 6eb594ed2871deb2870c40c7989a030b98fbc109 Mon Sep 17 00:00:00 2001 From: George Tsiolis Date: Tue, 3 Mar 2026 14:15:08 +0200 Subject: [PATCH] Replace container name in command output --- internal/container/start.go | 6 +++--- internal/container/stop.go | 11 +++++------ internal/output/plain_format.go | 14 +++++++------- internal/output/plain_format_test.go | 8 ++++---- internal/output/plain_sink_test.go | 28 ++++++++++++++-------------- 5 files changed, 33 insertions(+), 34 deletions(-) diff --git a/internal/container/start.go b/internal/container/start.go index 707f38b..e6847bd 100644 --- a/internal/container/start.go +++ b/internal/container/start.go @@ -122,12 +122,12 @@ func startContainers(ctx context.Context, rt runtime.Runtime, sink output.Sink, output.EmitStatus(sink, "starting", c.Name, "") containerID, err := rt.Start(ctx, c) if err != nil { - return fmt.Errorf("failed to start %s: %w", c.Name, err) + return fmt.Errorf("failed to start LocalStack: %w", err) } output.EmitStatus(sink, "waiting", c.Name, "") healthURL := fmt.Sprintf("http://localhost:%s%s", c.Port, c.HealthPath) - if err := awaitStartup(ctx, rt, sink, containerID, c.Name, healthURL); err != nil { + if err := awaitStartup(ctx, rt, sink, containerID, "LocalStack", healthURL); err != nil { return err } @@ -144,7 +144,7 @@ func selectContainersToStart(ctx context.Context, rt runtime.Runtime, sink outpu return nil, fmt.Errorf("failed to check container status: %w", err) } if running { - output.EmitInfo(sink, fmt.Sprintf("%s is already running", c.Name)) + output.EmitInfo(sink, "LocalStack is already running") continue } if err := ports.CheckAvailable(c.Port); err != nil { diff --git a/internal/container/stop.go b/internal/container/stop.go index cdac02d..0e7af84 100644 --- a/internal/container/stop.go +++ b/internal/container/stop.go @@ -16,15 +16,14 @@ func Stop(ctx context.Context, rt runtime.Runtime, onProgress func(string)) erro } for _, c := range cfg.Containers { - name := c.Name() - onProgress(fmt.Sprintf("Stopping %s...", name)) - if err := rt.Stop(ctx, name); err != nil { + onProgress("Stopping LocalStack...") + if err := rt.Stop(ctx, c.Name()); err != nil { if errdefs.IsNotFound(err) { - return fmt.Errorf("%s is not running", name) + return fmt.Errorf("LocalStack is not running") } - return fmt.Errorf("failed to stop %s: %w", name, err) + return fmt.Errorf("failed to stop LocalStack: %w", err) } - onProgress(fmt.Sprintf("%s stopped", name)) + onProgress("LocalStack stopped") } return nil diff --git a/internal/output/plain_format.go b/internal/output/plain_format.go index ae363b6..43fb47a 100644 --- a/internal/output/plain_format.go +++ b/internal/output/plain_format.go @@ -35,21 +35,21 @@ func FormatEventLine(event any) (string, bool) { func formatStatusLine(e ContainerStatusEvent) string { switch e.Phase { case "pulling": - return fmt.Sprintf("Pulling %s...", e.Container) + return "Preparing LocalStack..." case "starting": - return fmt.Sprintf("Starting %s...", e.Container) + return "Starting LocalStack..." case "waiting": - return fmt.Sprintf("Waiting for %s to be ready...", e.Container) + return "Waiting for LocalStack to be ready..." case "ready": if e.Detail != "" { - return fmt.Sprintf("%s ready (%s)", e.Container, e.Detail) + return fmt.Sprintf("LocalStack ready (%s)", e.Detail) } - return fmt.Sprintf("%s ready", e.Container) + return "LocalStack ready" default: if e.Detail != "" { - return fmt.Sprintf("%s: %s (%s)", e.Container, e.Phase, e.Detail) + return fmt.Sprintf("LocalStack: %s (%s)", e.Phase, e.Detail) } - return fmt.Sprintf("%s: %s", e.Container, e.Phase) + return fmt.Sprintf("LocalStack: %s", e.Phase) } } diff --git a/internal/output/plain_format_test.go b/internal/output/plain_format_test.go index 3abf1e3..b8679b7 100644 --- a/internal/output/plain_format_test.go +++ b/internal/output/plain_format_test.go @@ -49,14 +49,14 @@ func TestFormatEventLine(t *testing.T) { }, { name: "status pulling", - event: ContainerStatusEvent{Phase: "pulling", Container: "localstack/localstack:latest"}, - want: "Pulling localstack/localstack:latest...", + event: ContainerStatusEvent{Phase: "pulling", Container: "localstack/localstack-pro:latest"}, + want: "Preparing LocalStack...", wantOK: true, }, { name: "status ready with detail", - event: ContainerStatusEvent{Phase: "ready", Container: "localstack", Detail: "abc123"}, - want: "localstack ready (abc123)", + event: ContainerStatusEvent{Phase: "ready", Container: "localstack-aws", Detail: "abc123"}, + want: "LocalStack ready (abc123)", wantOK: true, }, { diff --git a/internal/output/plain_sink_test.go b/internal/output/plain_sink_test.go index b3bd661..cbb60f8 100644 --- a/internal/output/plain_sink_test.go +++ b/internal/output/plain_sink_test.go @@ -43,38 +43,38 @@ func TestPlainSink_EmitsStatusEvent(t *testing.T) { }{ { name: "pulling phase", - event: ContainerStatusEvent{Phase: "pulling", Container: "localstack/localstack:latest"}, - expected: "Pulling localstack/localstack:latest...\n", + event: ContainerStatusEvent{Phase: "pulling", Container: "localstack/localstack-pro:latest"}, + expected: "Preparing LocalStack...\n", }, { name: "starting phase", - event: ContainerStatusEvent{Phase: "starting", Container: "localstack"}, - expected: "Starting localstack...\n", + event: ContainerStatusEvent{Phase: "starting", Container: "localstack-aws"}, + expected: "Starting LocalStack...\n", }, { name: "waiting phase", - event: ContainerStatusEvent{Phase: "waiting", Container: "localstack"}, - expected: "Waiting for localstack to be ready...\n", + event: ContainerStatusEvent{Phase: "waiting", Container: "localstack-aws"}, + expected: "Waiting for LocalStack to be ready...\n", }, { name: "ready phase with detail", - event: ContainerStatusEvent{Phase: "ready", Container: "localstack", Detail: "abc123"}, - expected: "localstack ready (abc123)\n", + event: ContainerStatusEvent{Phase: "ready", Container: "localstack-aws", Detail: "abc123"}, + expected: "LocalStack ready (abc123)\n", }, { name: "ready phase without detail", - event: ContainerStatusEvent{Phase: "ready", Container: "localstack"}, - expected: "localstack ready\n", + event: ContainerStatusEvent{Phase: "ready", Container: "localstack-aws"}, + expected: "LocalStack ready\n", }, { name: "unknown phase with detail", - event: ContainerStatusEvent{Phase: "custom", Container: "localstack", Detail: "info"}, - expected: "localstack: custom (info)\n", + event: ContainerStatusEvent{Phase: "custom", Container: "localstack-aws", Detail: "info"}, + expected: "LocalStack: custom (info)\n", }, { name: "unknown phase without detail", - event: ContainerStatusEvent{Phase: "custom", Container: "localstack"}, - expected: "localstack: custom\n", + event: ContainerStatusEvent{Phase: "custom", Container: "localstack-aws"}, + expected: "LocalStack: custom\n", }, }