@@ -84,25 +84,16 @@ struct ServerSentEventsStreamInterpreterTests {
84
84
#expect( error is APIErrorResponse )
85
85
}
86
86
87
- // Chunk with 3 objects. I captured it from a real response. It's a very short response that contains just "Hi"
88
- static func chatCompletionChunk( ) -> Data {
89
- " data: { \" id \" : \" chatcmpl-AwnboO5ZnaUyii9xxC5ZVmM5vGark \" , \" object \" : \" chat.completion.chunk \" , \" created \" :1738577084, \" model \" : \" gpt-4-0613 \" , \" service_tier \" : \" default \" , \" system_fingerprint \" : \" sysfig \" , \" choices \" :[{ \" index \" :0, \" delta \" :{ \" role \" : \" assistant \" , \" content \" : \" \" , \" refusal \" :null}, \" logprobs \" :null, \" finish_reason \" :null}]} \n \n data: { \" id \" : \" chatcmpl-AwnboO5ZnaUyii9xxC5ZVmM5vGark \" , \" object \" : \" chat.completion.chunk \" , \" created \" :1738577084, \" model \" : \" gpt-4-0613 \" , \" service_tier \" : \" default \" , \" system_fingerprint \" : \" sysfig \" , \" choices \" :[{ \" index \" :0, \" delta \" :{ \" content \" : \" Hi \" }, \" logprobs \" :null, \" finish_reason \" :null}]} \n \n data: { \" id \" : \" chatcmpl-AwnboO5ZnaUyii9xxC5ZVmM5vGark \" , \" object \" : \" chat.completion.chunk \" , \" created \" :1738577084, \" model \" : \" gpt-4-0613 \" , \" service_tier \" : \" default \" , \" system_fingerprint \" : \" sysfig \" , \" choices \" :[{ \" index \" :0, \" delta \" :{}, \" logprobs \" :null, \" finish_reason \" : \" stop \" }]} \n \n " . data ( using: . utf8) !
90
- }
91
-
92
87
private func chatCompletionChunk( ) -> Data {
93
- type ( of : self ) . chatCompletionChunk ( )
88
+ MockServerSentEvent . chatCompletionChunk ( )
94
89
}
95
90
96
91
private func chatCompletionChunkWithComment( ) -> Data {
97
92
" : OPENROUTER PROCESSING \n \n data: { \" id \" : \" chatcmpl-AwnboO5ZnaUyii9xxC5ZVmM5vGark \" , \" object \" : \" chat.completion.chunk \" , \" created \" :1738577084, \" model \" : \" gpt-4-0613 \" , \" service_tier \" : \" default \" , \" system_fingerprint \" : \" sysfig \" , \" choices \" :[{ \" index \" :0, \" delta \" :{ \" role \" : \" assistant \" , \" content \" : \" \" , \" refusal \" :null}, \" logprobs \" :null, \" finish_reason \" :null}]} \n \n " . data ( using: . utf8) !
98
93
}
99
94
100
- static func chatCompletionChunkTermination( ) -> Data {
101
- " data: [DONE] \n \n " . data ( using: . utf8) !
102
- }
103
-
104
95
private func chatCompletionChunkTermination( ) -> Data {
105
- type ( of : self ) . chatCompletionChunkTermination ( )
96
+ MockServerSentEvent . chatCompletionChunkTermination ( )
106
97
}
107
98
108
99
// Copied from an actual reponse that was an input to inreptreter
@@ -114,3 +105,14 @@ struct ServerSentEventsStreamInterpreterTests {
114
105
private actor ChatStreamResultsActor {
115
106
var chatStreamResults : [ ChatStreamResult ] = [ ]
116
107
}
108
+
109
+ struct MockServerSentEvent {
110
+ // Chunk with 3 objects. I captured it from a real response. It's a very short response that contains just "Hi"
111
+ static func chatCompletionChunk( ) -> Data {
112
+ " data: { \" id \" : \" chatcmpl-AwnboO5ZnaUyii9xxC5ZVmM5vGark \" , \" object \" : \" chat.completion.chunk \" , \" created \" :1738577084, \" model \" : \" gpt-4-0613 \" , \" service_tier \" : \" default \" , \" system_fingerprint \" : \" sysfig \" , \" choices \" :[{ \" index \" :0, \" delta \" :{ \" role \" : \" assistant \" , \" content \" : \" \" , \" refusal \" :null}, \" logprobs \" :null, \" finish_reason \" :null}]} \n \n data: { \" id \" : \" chatcmpl-AwnboO5ZnaUyii9xxC5ZVmM5vGark \" , \" object \" : \" chat.completion.chunk \" , \" created \" :1738577084, \" model \" : \" gpt-4-0613 \" , \" service_tier \" : \" default \" , \" system_fingerprint \" : \" sysfig \" , \" choices \" :[{ \" index \" :0, \" delta \" :{ \" content \" : \" Hi \" }, \" logprobs \" :null, \" finish_reason \" :null}]} \n \n data: { \" id \" : \" chatcmpl-AwnboO5ZnaUyii9xxC5ZVmM5vGark \" , \" object \" : \" chat.completion.chunk \" , \" created \" :1738577084, \" model \" : \" gpt-4-0613 \" , \" service_tier \" : \" default \" , \" system_fingerprint \" : \" sysfig \" , \" choices \" :[{ \" index \" :0, \" delta \" :{}, \" logprobs \" :null, \" finish_reason \" : \" stop \" }]} \n \n " . data ( using: . utf8) !
113
+ }
114
+
115
+ static func chatCompletionChunkTermination( ) -> Data {
116
+ " data: [DONE] \n \n " . data ( using: . utf8) !
117
+ }
118
+ }
0 commit comments