refactor: refactoring http request creation and sending (#395)
* refactoring http request creation and sending * fix lint error * increase the test coverage of client.go * refactor: Change the style of HTTPRequestBuilder.Build func to one-argument-per-line.
This commit is contained in:
committed by
GitHub
parent
157de0680f
commit
f1b66967a4
@@ -6,7 +6,9 @@ import (
|
||||
"errors"
|
||||
"io"
|
||||
"net/http"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
. "github.com/sashabaranov/go-openai"
|
||||
"github.com/sashabaranov/go-openai/internal/test/checks"
|
||||
@@ -300,6 +302,30 @@ func TestCreateCompletionStreamBrokenJSONError(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreateCompletionStreamReturnTimeoutError(t *testing.T) {
|
||||
client, server, teardown := setupOpenAITestServer()
|
||||
defer teardown()
|
||||
server.RegisterHandler("/v1/completions", func(w http.ResponseWriter, r *http.Request) {
|
||||
time.Sleep(10 * time.Nanosecond)
|
||||
})
|
||||
ctx := context.Background()
|
||||
ctx, cancel := context.WithTimeout(ctx, time.Nanosecond)
|
||||
defer cancel()
|
||||
|
||||
_, err := client.CreateCompletionStream(ctx, CompletionRequest{
|
||||
Prompt: "Ex falso quodlibet",
|
||||
Model: "text-davinci-002",
|
||||
MaxTokens: 10,
|
||||
Stream: true,
|
||||
})
|
||||
if err == nil {
|
||||
t.Fatal("Did not return error")
|
||||
}
|
||||
if !os.IsTimeout(err) {
|
||||
t.Fatal("Did not return timeout error")
|
||||
}
|
||||
}
|
||||
|
||||
// Helper funcs.
|
||||
func compareResponses(r1, r2 CompletionResponse) bool {
|
||||
if r1.ID != r2.ID || r1.Object != r2.Object || r1.Created != r2.Created || r1.Model != r2.Model {
|
||||
|
||||
Reference in New Issue
Block a user