1
- package openai_test
1
+ package openai //nolint:testpackage // testing private field
2
2
3
3
import (
4
- . "github.com/sashabaranov/go-openai"
5
4
"github.com/sashabaranov/go-openai/internal/test"
6
5
"github.com/sashabaranov/go-openai/internal/test/checks"
7
6
8
7
"context"
9
8
"encoding/json"
10
9
"fmt"
10
+ "io"
11
11
"net/http"
12
+ "os"
12
13
"strconv"
13
14
"testing"
14
15
"time"
@@ -34,7 +35,7 @@ func TestFileUpload(t *testing.T) {
34
35
Purpose : "fine-tune" ,
35
36
}
36
37
_ , err = client .CreateFile (ctx , req )
37
- checks .NoError (t , err , "CreateFile erro " )
38
+ checks .NoError (t , err , "CreateFile error " )
38
39
}
39
40
40
41
// handleCreateFile Handles the images endpoint by the test server.
@@ -78,3 +79,50 @@ func handleCreateFile(w http.ResponseWriter, r *http.Request) {
78
79
resBytes , _ = json .Marshal (fileReq )
79
80
fmt .Fprint (w , string (resBytes ))
80
81
}
82
+
83
+ func TestFileUploadWithFailingFormBuilder (t * testing.T ) {
84
+ config := DefaultConfig ("" )
85
+ config .BaseURL = ""
86
+ client := NewClientWithConfig (config )
87
+ mockBuilder := & mockFormBuilder {}
88
+ client .createFormBuilder = func (io.Writer ) formBuilder {
89
+ return mockBuilder
90
+ }
91
+
92
+ ctx := context .Background ()
93
+ req := FileRequest {
94
+ FileName : "test.go" ,
95
+ FilePath : "client.go" ,
96
+ Purpose : "fine-tune" ,
97
+ }
98
+
99
+ mockError := fmt .Errorf ("mockWriteField error" )
100
+ mockBuilder .mockWriteField = func (string , string ) error {
101
+ return mockError
102
+ }
103
+ _ , err := client .CreateFile (ctx , req )
104
+ checks .ErrorIs (t , err , mockError , "CreateFile should return error if form builder fails" )
105
+
106
+ mockError = fmt .Errorf ("mockCreateFormFile error" )
107
+ mockBuilder .mockWriteField = func (string , string ) error {
108
+ return nil
109
+ }
110
+ mockBuilder .mockCreateFormFile = func (string , * os.File ) error {
111
+ return mockError
112
+ }
113
+ _ , err = client .CreateFile (ctx , req )
114
+ checks .ErrorIs (t , err , mockError , "CreateFile should return error if form builder fails" )
115
+
116
+ mockError = fmt .Errorf ("mockClose error" )
117
+ mockBuilder .mockWriteField = func (string , string ) error {
118
+ return nil
119
+ }
120
+ mockBuilder .mockCreateFormFile = func (string , * os.File ) error {
121
+ return nil
122
+ }
123
+ mockBuilder .mockClose = func () error {
124
+ return mockError
125
+ }
126
+ _ , err = client .CreateFile (ctx , req )
127
+ checks .ErrorIs (t , err , mockError , "CreateFile should return error if form builder fails" )
128
+ }
0 commit comments