@@ -11,6 +11,53 @@ import (
1111 "github.com/sashabaranov/go-openai/internal/test/checks"
1212)
1313
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+
1461func TestFileUploadWithFailingFormBuilder (t * testing.T ) {
1562 config := DefaultConfig ("" )
1663 config .BaseURL = ""
@@ -55,6 +102,9 @@ func TestFileUploadWithFailingFormBuilder(t *testing.T) {
55102 return mockError
56103 }
57104 _ , err = client .CreateFile (ctx , req )
105+ if err == nil {
106+ t .Fatal ("CreateFile should return error if form builder fails" )
107+ }
58108 checks .ErrorIs (t , err , mockError , "CreateFile should return error if form builder fails" )
59109}
60110
0 commit comments