]> git.giacomolli.uk - onechat/blobdiff - daemon_test.go
Keep the schedules in a file
[onechat] / daemon_test.go
index e27c6ae52e27260f5df00f8bee89215132762623..8bc8c6e9c3f290a5af3579556e55792ccc305360 100644 (file)
@@ -1,7 +1,6 @@
 package main
 
 import (
 package main
 
 import (
-       "context"
        "io"
        "net/http"
        "os"
        "io"
        "net/http"
        "os"
@@ -37,6 +36,8 @@ func TestClientsSeeTheTurnAsItHappens(t *testing.T) {
 
        first.Type(stopCommand)
        first.WaitFor(t, "[error] no turn runs")
 
        first.Type(stopCommand)
        first.WaitFor(t, "[error] no turn runs")
+       first.Type(stopCommand + " BlueFox")
+       first.WaitFor(t, "[error] no subagent BlueFox runs")
        require.NotContains(t, second.Output(), "no turn runs")
        require.NoError(t, first.Close())
 }
        require.NotContains(t, second.Output(), "no turn runs")
        require.NoError(t, first.Close())
 }
@@ -105,38 +106,3 @@ func daemonStartTest(t *testing.T, server *ModelFake) string {
 
        return daemonStartTestWithBot(t, server, nil)
 }
 
        return daemonStartTestWithBot(t, server, nil)
 }
-
-// daemonStartTestWithBot is daemonStartTest with bot, which can be nil.
-func daemonStartTestWithBot(t *testing.T, server *ModelFake, bot *TelegramBot) string {
-       t.Helper()
-
-       dir := t.TempDir()
-       agent, err := openAgent(filepath.Join(dir, daemonAgentDirName))
-       require.NoError(t, err)
-
-       agent.config.Workdir = t.TempDir()
-       clock := newTestClock()
-       memory, err := openMemory(t.Context(), agent.dir, clock.Now, newFakeSummarizer())
-       require.NoError(t, err)
-
-       socket := filepath.Join(dir, socketFileName)
-       listener, err := daemonListenSocket(socket)
-       require.NoError(t, err)
-
-       client := newModelClient(server.URL, ModelAPIKey(modelTestKey), agent.CacheKey(), filepath.Join(agent.dir, "usage.jsonl"))
-       ctx, cancel := context.WithCancel(t.Context())
-       done := make(chan error)
-       go func() {
-               done <- daemonServe(ctx, listener, bot, func(notify func(Event)) (*loop, error) {
-                       return newLoop(agent, memory, client, clock.Now, notify)
-               })
-       }()
-
-       t.Cleanup(func() {
-               cancel()
-               require.NoError(t, <-done)
-               require.NoError(t, memory.Close())
-       })
-
-       return socket
-}