X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/087d725b5ab41ad34ffd24938482d45a8b99a080..3b7a3676dc3614ee3099e8798b5d0c07cb116b93:/turn_test.go?ds=inline diff --git a/turn_test.go b/turn_test.go index 5d93e08..8173906 100644 --- a/turn_test.go +++ b/turn_test.go @@ -61,6 +61,7 @@ func TestTurnRunsToolsUntilTheFinalAnswer(t *testing.T) { require.Equal(t, []string{"user", "busy", "tool", "echo", "reply", "idle"}, test.events.Kinds()) var turns []string + for _, record := range modelReadUsage(t, test.usagePath) { turns = append(turns, record.Turn) } @@ -106,11 +107,13 @@ func TestMessageDuringATurnJoinsTheNextRequest(t *testing.T) { require.NoError(t, err) <-arrived + _, err = test.loop.Submit(terminalSource, "second, during the turn") require.NoError(t, err) close(release) test.events.WaitFor(t, "idle", 1) + input := server.Call(1).body["input"].([]any) require.Equal(t, map[string]any{ "role": "user", @@ -140,6 +143,7 @@ func TestMessageDuringTheFinalRequestStartsANewTurn(t *testing.T) { require.NoError(t, err) <-arrived + _, err = test.loop.Submit(terminalSource, "second") require.NoError(t, err) close(release) @@ -237,6 +241,7 @@ func TestViewMessagesOnlyGrowBetweenTurns(t *testing.T) { first := server.Call(1).body["input"].([]any) second := server.Call(2).body["input"].([]any) + require.Len(t, first, 4) require.Len(t, second, 5) require.Equal(t, first[:2], second[:2]) @@ -264,6 +269,7 @@ func (l *TurnTestLoop) Log(t *testing.T) []string { t.Helper() var lines []string + for id := range l.memory.Len() { message, err := l.memory.Message(id) require.NoError(t, err) @@ -360,12 +366,14 @@ func turnInputTexts(t *testing.T, call ModelFakeCall) []string { require.NoError(t, json.Unmarshal(call.raw, &body)) var texts []string + for _, item := range body.Input { if item.Role != "user" { continue } var text strings.Builder + for _, part := range item.Content { text.WriteString(part.Text) } @@ -401,6 +409,7 @@ func newTestTurnLoopWith(t *testing.T, server *ModelFake, summarizer Summarizer) whatsapp, _, _ := whatsappStartTest(t, t.TempDir(), clock) test.loop, err = newTurnLoop(agent, memory, newTestSubagents(t), whatsapp, newTestSchedules(t, clock.Now), client, clock.Now, log.New(test.logs, "", 0), test.events.Add) require.NoError(t, err) + ctx, cancel := context.WithCancel(t.Context()) done := make(chan error) go func() {