require.Equal(t, os.FileMode(0o600), info.Mode().Perm())
}
-func TestClientStopsAtTheFirstOutputItem(t *testing.T) {
- server := newFakeResponses(t)
- server.reply = func(w http.ResponseWriter, call fakeCall) {
- writeEvents(w,
- map[string]any{"type": "response.created"},
- map[string]any{"type": "response.output_item.added", "item": messageItem("")},
- )
- }
-
- client := newTestClient(t, server)
- request := testRequest()
- request.StopAtOutput = true
- request.Turn = "warmup"
- response, err := client.Create(t.Context(), request)
- require.NoError(t, err)
- require.Empty(t, response.Output)
-
- request.StopAtOutput = false
- _, err = client.Create(t.Context(), request)
- require.ErrorContains(t, err, "event stream ended before the response completed")
-}
-
func TestClientRefusesCallsOverTheLimit(t *testing.T) {
server := newFakeResponses(t)
client := newTestClient(t, server)