From 77a38b42f47e8842e5c60673f9b25e3871cf8d8e Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 23 Mar 2026 07:41:07 +0200 Subject: ask add: always emit UUID, never the numeric task ID Use rc.verbose=new-uuid so taskwarrior prints "Created task ." directly on stdout. Parse the UUID from that line instead of doing a two-step numeric-ID lookup or falling back to an export call. Removes ExtractUUIDFromOutput (which could leak numeric IDs) and fetchUUIDByNumericID (the export fallback). Integration tests now get the UUID straight from ask add output without any extra calls. Also fixes TestMain_WiresDispatcher which expected "export" first in args, but list now prepends status:pending filter. Co-Authored-By: Claude Sonnet 4.6 --- internal/askcli/taskexport_test.go | 39 -------------------------------------- 1 file changed, 39 deletions(-) (limited to 'internal/askcli/taskexport_test.go') diff --git a/internal/askcli/taskexport_test.go b/internal/askcli/taskexport_test.go index af468e2..e7779aa 100644 --- a/internal/askcli/taskexport_test.go +++ b/internal/askcli/taskexport_test.go @@ -51,38 +51,6 @@ func TestMustParseTaskExport_ValidJSON(t *testing.T) { } } -func TestExtractUUIDFromOutput_CreatedTask(t *testing.T) { - output := "Created task 123.\nUUID: abc-123-def" - uuid := ExtractUUIDFromOutput(output) - if uuid != "abc-123-def" { - t.Fatalf("ExtractUUIDFromOutput = %q, want %q", uuid, "abc-123-def") - } -} - -func TestExtractUUIDFromOutput_CreatedTaskOnly(t *testing.T) { - output := "Created task 123." - uuid := ExtractUUIDFromOutput(output) - if uuid != "123" { - t.Fatalf("ExtractUUIDFromOutput = %q, want %q", uuid, "123") - } -} - -func TestExtractUUIDFromOutput_UUIDField(t *testing.T) { - output := "Some text\nuuid abc-123-def\nmore text" - uuid := ExtractUUIDFromOutput(output) - if uuid != "abc-123-def" { - t.Fatalf("ExtractUUIDFromOutput = %q, want %q", uuid, "abc-123-def") - } -} - -func TestExtractUUIDFromOutput_PlainText(t *testing.T) { - output := "abc-456-xyz" - uuid := ExtractUUIDFromOutput(output) - if uuid != output { - t.Fatalf("ExtractUUIDFromOutput = %q, want %q", uuid, output) - } -} - func TestTaskExport_JSONRoundTrip(t *testing.T) { original := TaskExport{ UUID: "test-uuid", @@ -133,13 +101,6 @@ func TestParseTaskExport_MultipleTasks(t *testing.T) { } } -func TestExtractUUIDFromOutput_NilOutput(t *testing.T) { - uuid := ExtractUUIDFromOutput("") - if uuid != "" { - t.Fatalf("ExtractUUIDFromOutput = %q, want empty string", uuid) - } -} - func TestParseTaskExport_ReadError(t *testing.T) { _, err := ParseTaskExport(&errReader{}) if err == nil { -- cgit v1.2.3