X-Git-Url: http://git.giacomolli.uk/onechat/blobdiff_plain/b2873a2a0bf8b0ba648aebac51759e5fed89a2e2..6d1d9d9a7cf90b25a2e10af1c5bc56faee7e494c:/daemon_test.go?ds=inline diff --git a/daemon_test.go b/daemon_test.go index 00680e6..d1f1bc5 100644 --- a/daemon_test.go +++ b/daemon_test.go @@ -17,14 +17,14 @@ import ( ) func TestClientsSeeTheTurnAsItHappens(t *testing.T) { - server := newFakeResponses(t) - server.reply = func(w http.ResponseWriter, call fakeCall) { + server := newModelFake(t) + server.reply = func(w http.ResponseWriter, call ModelFakeCall) { if call.number == 0 { - writeEvents(w, completedEvent([]any{functionCallItem("fc_1", "call_1", "shell", `{"command":"echo hi"}`)}, 100, 0, 5)) + modelWriteEvents(w, modelCompletedEvent([]any{modelFunctionCallItem("fc_1", "call_1", "shell", `{"command":"echo hi"}`)}, 100, 0, 5)) return } - writeEvents(w, completedEvent([]any{messageItem("It said hi.")}, 100, 0, 5)) + modelWriteEvents(w, modelCompletedEvent([]any{modelMessageItem("It said hi.")}, 100, 0, 5)) } socket := startTestDaemon(t, server) @@ -46,14 +46,14 @@ func TestClientsSeeTheTurnAsItHappens(t *testing.T) { } func TestStopInterruptsTheTurn(t *testing.T) { - server := newFakeResponses(t) + server := newModelFake(t) arrived := make(chan struct{}) release := make(chan struct{}) t.Cleanup(func() { close(release) }) - server.reply = func(w http.ResponseWriter, call fakeCall) { + server.reply = func(w http.ResponseWriter, call ModelFakeCall) { close(arrived) <-release } @@ -239,7 +239,14 @@ func (b *syncBuffer) String() string { // startTestDaemon serves a new agent on a socket in a temporary directory and // returns the socket path. The commands of the agent run in a temporary // directory. -func startTestDaemon(t *testing.T, server *fakeResponses) string { +func startTestDaemon(t *testing.T, server *ModelFake) string { + t.Helper() + + return startTestDaemonWithBot(t, server, nil) +} + +// startTestDaemonWithBot is startTestDaemon with bot, which can be nil. +func startTestDaemonWithBot(t *testing.T, server *ModelFake, bot *TelegramBot) string { t.Helper() dir := t.TempDir() @@ -255,11 +262,11 @@ func startTestDaemon(t *testing.T, server *fakeResponses) string { listener, err := listenSocket(socket) require.NoError(t, err) - client := newClient(server.URL, apiKey(testKey), agent.CacheKey(), filepath.Join(agent.dir, "usage.jsonl")) + 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 <- serveAgent(ctx, listener, func(notify func(Event)) (*loop, error) { + done <- serveAgent(ctx, listener, bot, func(notify func(Event)) (*loop, error) { return newLoop(agent, memory, client, clock.Now, notify) }) }()