|
8 | 8 | "context"
|
9 | 9 | "errors"
|
10 | 10 | "fmt"
|
| 11 | + "maps" |
11 | 12 | "reflect"
|
| 13 | + "slices" |
12 | 14 | "strings"
|
13 | 15 | "sync/atomic"
|
14 | 16 | "testing"
|
@@ -95,17 +97,23 @@ func TestSub(t *testing.T) {
|
95 | 97 | }
|
96 | 98 |
|
97 | 99 | wd := wf.New(wf.ACL{})
|
98 |
| - sub1 := wd.Sub("sub1") |
| 100 | + topSub := wd.Sub("top-sub") |
| 101 | + sub1 := topSub.Sub("sub1") |
99 | 102 | g1 := wf.Task0(sub1, "Greeting", hi)
|
100 |
| - sub2 := wd.Sub("sub2") |
| 103 | + sub2 := topSub.Sub("sub2") |
101 | 104 | g2 := wf.Task0(sub2, "Greeting", hi)
|
102 | 105 | wf.Output(wd, "result", wf.Task2(wd, "Concatenate", concat, g1, g2))
|
103 | 106 |
|
| 107 | + storage := &mapListener{Listener: &verboseListener{t}} |
104 | 108 | w := startWorkflow(t, wd, nil)
|
105 |
| - outputs := runWorkflow(t, w, nil) |
| 109 | + outputs := runWorkflow(t, w, storage) |
106 | 110 | if got, want := outputs["result"], "hi hi"; got != want {
|
107 | 111 | t.Errorf("result = %q, want %q", got, want)
|
108 | 112 | }
|
| 113 | + const wantTaskID = "top-sub: sub1: Greeting" |
| 114 | + if _, ok := storage.states[w.ID][wantTaskID]; !ok { |
| 115 | + t.Errorf("task ID %q doesn't exist, have: %q", wantTaskID, slices.Sorted(maps.Keys(storage.states[w.ID]))) |
| 116 | + } |
109 | 117 | }
|
110 | 118 |
|
111 | 119 | func TestSplitJoin(t *testing.T) {
|
|
0 commit comments