X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/3cdbd017da9ae7a7045f4272f16d4b262fd01c79..4a42f7f208cbfead335eba9ebe615b35b1742130:/daemon_children_test.go diff --git a/daemon_children_test.go b/daemon_children_test.go index b9e212f..8349586 100644 --- a/daemon_children_test.go +++ b/daemon_children_test.go @@ -49,6 +49,7 @@ func TestDaemonToolsCreateAndTellAChildDuringATurn(t *testing.T) { modelWriteEvents(w, modelCompletedEvent(items, 100, 0, 5)) } + whatsapp, _, _ := whatsappStartTest(t, dir, newTestClock()) listener, err := daemonListenSocket(filepath.Join(dir, socketFileName)) require.NoError(t, err) @@ -111,6 +112,7 @@ func TestChildCreationRefusesUsedNames(t *testing.T) { test.root.runs.subagents.draw = func() string { return "BlueFox" } + subagent, err := test.root.runs.subagents.Create(t.Context()) require.NoError(t, err) require.Equal(t, "BlueFox", subagent.name) @@ -125,26 +127,27 @@ func TestChildCreationAcceptsAreaNames(t *testing.T) { child string }{ { - name: "house area", + name: "accepts house area", child: "House", }, { - name: "calendar area", + name: "accepts calendar area", child: "Calendar", }, { - name: "two letters", + name: "accepts two letters", child: "Ab", }, { - name: "capital letters after the first", + name: "accepts capital letters after the first", child: "ABcD", }, { - name: "thirty-two letters", + name: "accepts thirty-two letters", child: "A" + strings.Repeat("b", 31), }, } + for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { test := newDaemonChildrenTest(t) @@ -169,46 +172,47 @@ func TestChildCreationRefusesInvalidAreaNames(t *testing.T) { child string }{ { - name: "empty name", + name: "refuses empty name", child: "", }, { - name: "one letter", + name: "refuses one letter", child: "H", }, { - name: "thirty-three letters", + name: "refuses thirty-three letters", child: "A" + strings.Repeat("b", 32), }, { - name: "lowercase initial", + name: "refuses lowercase initial", child: "house", }, { - name: "two words", + name: "refuses two words", child: "My House", }, { - name: "digit", + name: "refuses digit", child: "House2", }, { - name: "path", + name: "refuses path", child: "../House", }, { - name: "punctuation", + name: "refuses punctuation", child: "House-", }, { - name: "non-ASCII initial", + name: "refuses non-ASCII initial", child: "\u00c1rea", }, { - name: "non-ASCII remainder", + name: "refuses non-ASCII remainder", child: "Hous\u00e9", }, } + for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { test := newDaemonChildrenTest(t) @@ -320,6 +324,7 @@ func TestChildNamesStayOutOfSubagentDraws(t *testing.T) { return name } + subagent, err := test.root.runs.subagents.Create(t.Context()) require.NoError(t, err) require.Equal(t, "BlueFox", subagent.name) @@ -364,6 +369,7 @@ func TestZoomReadsTheChildViewAndKeepsSubagentLogs(t *testing.T) { test.root.runs.subagents.draw = func() string { return "BlueFox" } + subagent, err := test.root.runs.subagents.Create(t.Context()) require.NoError(t, err) @@ -439,6 +445,7 @@ func newDaemonChildrenTest(t *testing.T) *DaemonChildrenTest { test := &DaemonChildrenTest{ server: newModelFake(t), } + agents, err := openDaemonAgents(t.Context(), t.TempDir(), test.server.URL, ModelAPIKey(modelTestKey), defaultConfig().Compactor, time.Now, discardLog()) require.NoError(t, err) @@ -457,6 +464,7 @@ func newDaemonChildrenTest(t *testing.T) *DaemonChildrenTest { root: test.root, messages: messages, } + test.root.tools.children = test.runtime t.Cleanup(func() { cancel()