summaryrefslogtreecommitdiff
path: root/integrationtests
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-27 12:20:09 +0200
committerPaul Buetow <paul@buetow.org>2026-03-27 12:20:09 +0200
commit2ddb334fa671b9c425ca43c8c673c6b36c3ad0ab (patch)
treecfff7b2b8397ebf4fad9b81a91d54563ea66d208 /integrationtests
parentc8c57f0d5821ae0542cb613c87e6ed2ea66e1e0a (diff)
release: v0.27.1v0.27.1
Diffstat (limited to 'integrationtests')
-rw-r--r--integrationtests/ask_test.go22
1 files changed, 18 insertions, 4 deletions
diff --git a/integrationtests/ask_test.go b/integrationtests/ask_test.go
index d1e0145..528021a 100644
--- a/integrationtests/ask_test.go
+++ b/integrationtests/ask_test.go
@@ -117,13 +117,13 @@ func runTaskWithStdin(ctx context.Context, args []string, stdin string) (stdout,
}
// createTask creates a new task via ask add and returns its UUID.
-// ask add prints the human-facing alias ID, so we resolve the created UUID via ask info.
+// ask add prints a human-facing created-task message, so we resolve the created UUID via ask info.
func createTask(ctx context.Context, desc string) (string, error) {
stdout, stderr, code := runAsk(ctx, []string{"add", "+integrationtest", desc})
if code != 0 {
return "", fmt.Errorf("create task failed (code %d): stdout=%s stderr=%s", code, stdout.String(), stderr.String())
}
- id := strings.TrimSpace(stdout.String())
+ id := extractTaskIDFromAddOutput(stdout.String())
if id == "" {
return "", fmt.Errorf("could not extract task ID from ask add output: %s", stdout.String())
}
@@ -137,6 +137,16 @@ func createTask(ctx context.Context, desc string) (string, error) {
return info.UUID, nil
}
+func extractTaskIDFromAddOutput(output string) string {
+ for _, line := range strings.Split(strings.TrimSpace(output), "\n") {
+ line = strings.TrimSpace(line)
+ if strings.HasPrefix(line, "created task ") {
+ return strings.TrimSpace(strings.TrimPrefix(line, "created task "))
+ }
+ }
+ return strings.TrimSpace(output)
+}
+
func deleteTask(ctx context.Context, uuid string) {
runTaskWithStdin(ctx, []string{"uuid:" + uuid, "delete"}, "yes\n")
}
@@ -298,7 +308,7 @@ func TestAdd(t *testing.T) {
}
}
-// TestAddReturnsAlias verifies that ask add outputs the human-facing alias ID.
+// TestAddReturnsAlias verifies that ask add outputs the human-facing alias ID in its creation message.
func TestAddReturnsAlias(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
@@ -307,7 +317,8 @@ func TestAddReturnsAlias(t *testing.T) {
if code != 0 {
t.Fatalf("ask add failed with code %d", code)
}
- id := strings.TrimSpace(stdout.String())
+ rawOutput := strings.TrimSpace(stdout.String())
+ id := extractTaskIDFromAddOutput(rawOutput)
info, ok := getTaskInfoFast(ctx, id)
if !ok {
t.Fatalf("ask info %q failed after add", id)
@@ -317,6 +328,9 @@ func TestAddReturnsAlias(t *testing.T) {
if id == "" {
t.Fatal("ask add returned an empty task ID")
}
+ if rawOutput != "created task "+id {
+ t.Fatalf("ask add output = %q, want %q", rawOutput, "created task "+id)
+ }
if uuidFormatRx.MatchString(id) {
t.Fatalf("ask add output %q leaked a UUID, want alias ID", id)
}