X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/cb514b662bcf9d90b2cf02789c989f777d774d3f..39d1a3fd09f8255298590b4413115ae72e0e3928:/model_test.go diff --git a/model_test.go b/model_test.go index 11a7d00..90d0e93 100644 --- a/model_test.go +++ b/model_test.go @@ -104,7 +104,7 @@ func TestClientSendsTheSessionHeaderToChatGPT(t *testing.T) { func TestClientReadsTheStream(t *testing.T) { server := newModelFake(t) - server.reply = func(w http.ResponseWriter, call ModelFakeCall) { + server.reply = func(w http.ResponseWriter, _ ModelFakeCall) { modelWriteEvents(w, map[string]any{"type": "response.created", "response": map[string]any{}}, map[string]any{"type": "response.output_item.done", "item": map[string]any{"type": "reasoning", "encrypted_content": "opaque"}}, @@ -129,7 +129,7 @@ func TestClientReadsTheStream(t *testing.T) { func TestClientTakesTheOutputOfTheCompletedResponse(t *testing.T) { server := newModelFake(t) - server.reply = func(w http.ResponseWriter, call ModelFakeCall) { + server.reply = func(w http.ResponseWriter, _ ModelFakeCall) { modelWriteEvents(w, modelCompletedEvent([]any{modelMessageItem("only here")}, 10, 0, 2)) } @@ -145,8 +145,10 @@ func TestClientRecordsEachCall(t *testing.T) { w.Header().Set("X-Codex-Plan-Type", "plus") w.Header().Set("X-Other", "not quota") w.Header().Set("X-Codex-Turn-State", "opaque state") + if call.number == 1 { w.WriteHeader(http.StatusTooManyRequests) + _, _ = io.WriteString(w, `{"detail": "slow down"}`) return @@ -176,6 +178,7 @@ func TestClientRecordsEachCall(t *testing.T) { "x-codex-primary-used-percent": "12", "x-codex-plan-type": "plus", } + require.Equal(t, "gpt-test", records[0].Model) require.Equal(t, http.StatusOK, records[0].Status) require.Equal(t, 500, records[0].InputTokens) @@ -213,11 +216,13 @@ func TestClientRefusesCallsOverTheLimit(t *testing.T) { for range 2 { require.False(t, client.LimitReached()) + _, err := client.Create(t.Context(), modelTestRequest()) require.NoError(t, err) } require.True(t, client.LimitReached()) + _, err := client.Create(t.Context(), modelTestRequest()) require.ErrorIs(t, err, errModelCallLimit) require.Equal(t, 2, server.Calls()) @@ -255,7 +260,7 @@ func TestClientFailsWhenTheResponseFails(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { server := newModelFake(t) - server.reply = func(w http.ResponseWriter, call ModelFakeCall) { + server.reply = func(w http.ResponseWriter, _ ModelFakeCall) { modelWriteEvents(w, tc.events...) }