(t *testing.T)
| 93 | } |
| 94 | |
| 95 | func TestBuildSession_PreservesToolMessage(t *testing.T) { |
| 96 | t.Parallel() |
| 97 | sess := buildSession([]ChatCompletionMessage{ |
| 98 | {Role: "user", Content: "compute 2+2"}, |
| 99 | {Role: "assistant", Content: ""}, // dropped: empty content |
| 100 | {Role: "tool", Content: "4", ToolCallID: "call_1"}, |
| 101 | }) |
| 102 | require.NotNil(t, sess) |
| 103 | |
| 104 | all := sess.GetAllMessages() |
| 105 | require.Len(t, all, 2) |
| 106 | |
| 107 | last := all[len(all)-1].Message |
| 108 | assert.Equal(t, chat.MessageRoleTool, last.Role) |
| 109 | assert.Equal(t, "4", last.Content) |
| 110 | assert.Equal(t, "call_1", last.ToolCallID) |
| 111 | } |
| 112 | |
| 113 | func TestBuildSession_UnknownRoleTreatedAsUser(t *testing.T) { |
| 114 | t.Parallel() |
nothing calls this directly
no test coverage detected