@@ -11,6 +11,53 @@ import (
11
11
"github.com/sashabaranov/go-openai/internal/test/checks"
12
12
)
13
13
14
+ func TestFileBytesUploadWithFailingFormBuilder (t * testing.T ) {
15
+ config := DefaultConfig ("" )
16
+ config .BaseURL = ""
17
+ client := NewClientWithConfig (config )
18
+ mockBuilder := & mockFormBuilder {}
19
+ client .createFormBuilder = func (io.Writer ) utils.FormBuilder {
20
+ return mockBuilder
21
+ }
22
+
23
+ ctx := context .Background ()
24
+ req := FileBytesRequest {
25
+ Name : "foo" ,
26
+ Bytes : []byte ("foo" ),
27
+ Purpose : PurposeAssistants ,
28
+ }
29
+
30
+ mockError := fmt .Errorf ("mockWriteField error" )
31
+ mockBuilder .mockWriteField = func (string , string ) error {
32
+ return mockError
33
+ }
34
+ _ , err := client .CreateFileBytes (ctx , req )
35
+ checks .ErrorIs (t , err , mockError , "CreateFile should return error if form builder fails" )
36
+
37
+ mockError = fmt .Errorf ("mockCreateFormFile error" )
38
+ mockBuilder .mockWriteField = func (string , string ) error {
39
+ return nil
40
+ }
41
+ mockBuilder .mockCreateFormFileReader = func (string , io.Reader , string ) error {
42
+ return mockError
43
+ }
44
+ _ , err = client .CreateFileBytes (ctx , req )
45
+ checks .ErrorIs (t , err , mockError , "CreateFile should return error if form builder fails" )
46
+
47
+ mockError = fmt .Errorf ("mockClose error" )
48
+ mockBuilder .mockWriteField = func (string , string ) error {
49
+ return nil
50
+ }
51
+ mockBuilder .mockCreateFormFileReader = func (string , io.Reader , string ) error {
52
+ return nil
53
+ }
54
+ mockBuilder .mockClose = func () error {
55
+ return mockError
56
+ }
57
+ _ , err = client .CreateFileBytes (ctx , req )
58
+ checks .ErrorIs (t , err , mockError , "CreateFile should return error if form builder fails" )
59
+ }
60
+
14
61
func TestFileUploadWithFailingFormBuilder (t * testing.T ) {
15
62
config := DefaultConfig ("" )
16
63
config .BaseURL = ""
@@ -55,6 +102,9 @@ func TestFileUploadWithFailingFormBuilder(t *testing.T) {
55
102
return mockError
56
103
}
57
104
_ , err = client .CreateFile (ctx , req )
105
+ if err == nil {
106
+ t .Fatal ("CreateFile should return error if form builder fails" )
107
+ }
58
108
checks .ErrorIs (t , err , mockError , "CreateFile should return error if form builder fails" )
59
109
}
60
110
0 commit comments