@@ -8,20 +8,17 @@ import (
88 "testing"
99
1010 "github.com/sashabaranov/go-openai"
11+ "github.com/sashabaranov/go-openai/internal/test"
1112 "github.com/sashabaranov/go-openai/internal/test/checks"
1213)
1314
1415var emptyStr = ""
1516
16- // TestMessages Tests the messages endpoint of the API using the mocked server.
17- func TestMessages (t * testing.T ) {
17+ func setupServerForTestMessage (t * testing.T , server * test.ServerTest ) {
1818 threadID := "thread_abc123"
1919 messageID := "msg_abc123"
2020 fileID := "file_abc123"
2121
22- client , server , teardown := setupOpenAITestServer ()
23- defer teardown ()
24-
2522 server .RegisterHandler (
2623 "/v1/threads/" + threadID + "/messages/" + messageID + "/files/" + fileID ,
2724 func (w http.ResponseWriter , r * http.Request ) {
@@ -115,6 +112,13 @@ func TestMessages(t *testing.T) {
115112 Metadata : nil ,
116113 })
117114 fmt .Fprintln (w , string (resBytes ))
115+ case http .MethodDelete :
116+ resBytes , _ := json .Marshal (openai.MessageDeletionStatus {
117+ ID : messageID ,
118+ Object : "thread.message.deleted" ,
119+ Deleted : true ,
120+ })
121+ fmt .Fprintln (w , string (resBytes ))
118122 default :
119123 t .Fatalf ("unsupported messages http method: %s" , r .Method )
120124 }
@@ -176,7 +180,18 @@ func TestMessages(t *testing.T) {
176180 }
177181 },
178182 )
183+ }
179184
185+ // TestMessages Tests the messages endpoint of the API using the mocked server.
186+ func TestMessages (t * testing.T ) {
187+ threadID := "thread_abc123"
188+ messageID := "msg_abc123"
189+ fileID := "file_abc123"
190+
191+ client , server , teardown := setupOpenAITestServer ()
192+ defer teardown ()
193+
194+ setupServerForTestMessage (t , server )
180195 ctx := context .Background ()
181196
182197 // static assertion of return type
@@ -225,6 +240,17 @@ func TestMessages(t *testing.T) {
225240 t .Fatalf ("expected message metadata to get modified" )
226241 }
227242
243+ msgDel , err := client .DeleteMessage (ctx , threadID , messageID )
244+ checks .NoError (t , err , "DeleteMessage error" )
245+ if msgDel .ID != messageID {
246+ t .Fatalf ("unexpected message id: '%s'" , msg .ID )
247+ }
248+ if ! msgDel .Deleted {
249+ t .Fatalf ("expected deleted is true" )
250+ }
251+ _ , err = client .DeleteMessage (ctx , threadID , "not_exist_id" )
252+ checks .HasError (t , err , "DeleteMessage error" )
253+
228254 // message files
229255 var msgFile openai.MessageFile
230256 msgFile , err = client .RetrieveMessageFile (ctx , threadID , messageID , fileID )
0 commit comments