X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/a5c83e92d7feea2e104b5515043a76c8c4c56c60..f5c601f1801aaa276f8c335fcb51c373edc0b50c:/daemon_message_helper_test.go diff --git a/daemon_message_helper_test.go b/daemon_message_helper_test.go index 2122a93..2a627e2 100644 --- a/daemon_message_helper_test.go +++ b/daemon_message_helper_test.go @@ -22,6 +22,41 @@ type DaemonMessageTest struct { done []chan error } +func newDaemonMessageTest(t *testing.T, dir string, server *ModelFake) *DaemonMessageTest { + t.Helper() + + _, err := os.Stat(filepath.Join(dir, daemonAgentDirName, "children")) + if errors.Is(err, os.ErrNotExist) { + daemonChildConfig(t, dir, "Garden") + daemonChildConfig(t, dir, "Library") + } else { + require.NoError(t, err) + } + + test := &DaemonMessageTest{ + logs: &SyncBuffer{}, + } + test.agents, err = openDaemonAgents(t.Context(), dir, server.URL, ModelAPIKey(modelTestKey), defaultConfig().Compactor, newTestClock().Now, daemonTestLogger(test.logs)) + require.NoError(t, err) + t.Cleanup(func() { + test.Close(t) + }) + + for _, agent := range test.agents { + events := &TurnEventRecorder{} + loop, err := agent.Loop(nil, events.Add) + require.NoError(t, err) + + test.events = append(test.events, events) + test.loops = append(test.loops, loop) + } + + test.messages, err = openDaemonMessages(test.loops) + require.NoError(t, err) + + return test +} + func (r *DaemonMessageTest) Start(t *testing.T, indices ...int) { t.Helper() @@ -67,38 +102,3 @@ func (r *DaemonMessageTest) Close(t *testing.T) { r.agents = nil } - -func newDaemonMessageTest(t *testing.T, dir string, server *ModelFake) *DaemonMessageTest { - t.Helper() - - _, err := os.Stat(filepath.Join(dir, daemonAgentDirName, "children")) - if errors.Is(err, os.ErrNotExist) { - daemonChildConfig(t, dir, "Garden") - daemonChildConfig(t, dir, "Library") - } else { - require.NoError(t, err) - } - - test := &DaemonMessageTest{ - logs: &SyncBuffer{}, - } - test.agents, err = openDaemonAgents(t.Context(), dir, server.URL, ModelAPIKey(modelTestKey), defaultConfig().Compactor, newTestClock().Now, daemonTestLogger(test.logs)) - require.NoError(t, err) - t.Cleanup(func() { - test.Close(t) - }) - - for _, agent := range test.agents { - events := &TurnEventRecorder{} - loop, err := agent.Loop(nil, events.Add) - require.NoError(t, err) - - test.events = append(test.events, events) - test.loops = append(test.loops, loop) - } - - test.messages, err = openDaemonMessages(test.loops) - require.NoError(t, err) - - return test -}