summaryrefslogtreecommitdiff
path: root/internal/cli/report_test.go
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-08 20:40:55 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-08 20:40:55 +0000
commit1ce83b6b6a300f4389dd84c4477f3ca73a431524 (patch)
treebefe1444267d0f4f333b226f016a7767e354c2a2 /internal/cli/report_test.go
parentdb1ebb7a3f9310ca2cc483d65e9c0e578c2eb4ff (diff)
cli: newLogger helper, defaultServerURL, shared http client, report command
- Extract newLogger() to remove duplication across run/serve/start - Add defaultServerURL const ("http://localhost:8484") used by all client commands - Move http.Client into internal/cli/http.go with 30s timeout - Add 'report' command for printing execution summaries - Add test coverage for create and serve commands Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/cli/report_test.go')
-rw-r--r--internal/cli/report_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/internal/cli/report_test.go b/internal/cli/report_test.go
new file mode 100644
index 0000000..3ef96f4
--- /dev/null
+++ b/internal/cli/report_test.go
@@ -0,0 +1,32 @@
+package cli
+
+import (
+ "strings"
+ "testing"
+)
+
+func TestReportCmd_InvalidFormat(t *testing.T) {
+ cmd := newReportCmd()
+ cmd.SetArgs([]string{"--format", "xml"})
+ err := cmd.Execute()
+ if err == nil {
+ t.Fatal("expected error for invalid format, got nil")
+ }
+ if !strings.Contains(err.Error(), "format") {
+ t.Errorf("expected error to mention 'format', got: %v", err)
+ }
+}
+
+func TestReportCmd_DefaultsRegistered(t *testing.T) {
+ cmd := newReportCmd()
+ f := cmd.Flags()
+ if f.Lookup("format") == nil {
+ t.Error("missing --format flag")
+ }
+ if f.Lookup("limit") == nil {
+ t.Error("missing --limit flag")
+ }
+ if f.Lookup("task") == nil {
+ t.Error("missing --task flag")
+ }
+}