@@ -29,24 +29,23 @@ struct GraphqlTransportWSTests {
2929 }
3030 )
3131 let ( messageStream, messageContinuation) = AsyncThrowingStream < String , any Error > . makeStream ( )
32+ let serverMessageStream = serverMessenger. stream. map { message in
33+ messageContinuation. yield ( message)
34+ // Expect only one message
35+ messageContinuation. finish ( )
36+ return message
37+ }
3238 let client = Client < TokenInitPayload > (
3339 messenger: clientMessenger,
3440 onError: { message, _ in
3541 messageContinuation. finish ( throwing: message. payload [ 0 ] )
36- } ,
37- onMessage: { message, _ in
38- messageContinuation. yield ( message)
39- // Expect only one message
40- messageContinuation. finish ( )
42+ await clientMessenger. close ( )
4143 }
4244 )
43- let serverStream = serverMessenger. stream
4445 let clientStream = clientMessenger. stream
4546 Task {
4647 try await server. listen ( to: clientStream)
47- }
48- Task {
49- try await client. listen ( to: serverStream)
48+ await serverMessenger. close ( )
5049 }
5150
5251 try await client. sendStart (
@@ -59,6 +58,7 @@ struct GraphqlTransportWSTests {
5958 ) ,
6059 id: UUID ( ) . uuidString
6160 )
61+ try await client. listen ( to: serverMessageStream)
6262
6363 let messages = try await messageStream. reduce ( into: [ String] ( ) ) { result, message in
6464 result. append ( message)
@@ -92,31 +92,31 @@ struct GraphqlTransportWSTests {
9292 }
9393 )
9494 let ( messageStream, messageContinuation) = AsyncThrowingStream < String , any Error > . makeStream ( )
95+ let serverMessageStream = serverMessenger. stream. map { message in
96+ messageContinuation. yield ( message)
97+ // Expect only one message
98+ messageContinuation. finish ( )
99+ return message
100+ }
95101 let client = Client < TokenInitPayload > (
96102 messenger: clientMessenger,
97103 onError: { message, _ in
98104 messageContinuation. finish ( throwing: message. payload [ 0 ] )
99- } ,
100- onMessage: { message, _ in
101- messageContinuation. yield ( message)
102- // Expect only one message
103- messageContinuation. finish ( )
105+ await clientMessenger. close ( )
104106 }
105107 )
106- let serverStream = serverMessenger. stream
107108 let clientStream = clientMessenger. stream
108109 Task {
109110 try await server. listen ( to: clientStream)
110- }
111- Task {
112- try await client. listen ( to: serverStream)
111+ await serverMessenger. close ( )
113112 }
114113
115114 try await client. sendConnectionInit (
116115 payload: TokenInitPayload (
117116 authToken: " "
118117 )
119118 )
119+ try await client. listen ( to: serverMessageStream)
120120
121121 let messages = try await messageStream. reduce ( into: [ String] ( ) ) { result, message in
122122 result. append ( message)
@@ -150,6 +150,10 @@ struct GraphqlTransportWSTests {
150150 }
151151 )
152152 let ( messageStream, messageContinuation) = AsyncThrowingStream < String , any Error > . makeStream ( )
153+ let serverMessageStream = serverMessenger. stream. map { message in
154+ messageContinuation. yield ( message)
155+ return message
156+ }
153157 let client = Client < TokenInitPayload > (
154158 messenger: clientMessenger,
155159 onConnectionAck: { _, client in
@@ -166,24 +170,21 @@ struct GraphqlTransportWSTests {
166170 } ,
167171 onError: { message, _ in
168172 messageContinuation. finish ( throwing: message. payload [ 0 ] )
173+ await clientMessenger. close ( )
169174 } ,
170175 onComplete: { _, _ in
171176 messageContinuation. finish ( )
172- } ,
173- onMessage: { message, _ in
174- messageContinuation. yield ( message)
177+ await clientMessenger. close ( )
175178 }
176179 )
177- let serverStream = serverMessenger. stream
178180 let clientStream = clientMessenger. stream
179181 Task {
180182 try await server. listen ( to: clientStream)
181- }
182- Task {
183- try await client. listen ( to: serverStream)
183+ await serverMessenger. close ( )
184184 }
185185
186186 try await client. sendConnectionInit ( payload: TokenInitPayload ( authToken: " " ) )
187+ try await client. listen ( to: serverMessageStream)
187188
188189 let messages = try await messageStream. reduce ( into: [ String] ( ) ) { result, message in
189190 result. append ( message)
@@ -222,6 +223,11 @@ struct GraphqlTransportWSTests {
222223 }
223224 )
224225 let ( messageStream, messageContinuation) = AsyncThrowingStream < String , any Error > . makeStream ( )
226+ // Used to extract the server messages
227+ let serverMessageStream = serverMessenger. stream. map { message in
228+ messageContinuation. yield ( message)
229+ return message
230+ }
225231 let client = Client < TokenInitPayload > (
226232 messenger: clientMessenger,
227233 onConnectionAck: { _, client in
@@ -250,24 +256,21 @@ struct GraphqlTransportWSTests {
250256 } ,
251257 onError: { message, _ in
252258 messageContinuation. finish ( throwing: message. payload [ 0 ] )
259+ await clientMessenger. close ( )
253260 } ,
254261 onComplete: { _, _ in
255262 messageContinuation. finish ( )
256- } ,
257- onMessage: { message, _ in
258- messageContinuation. yield ( message)
263+ await clientMessenger. close ( )
259264 }
260265 )
261266 let clientStream = clientMessenger. stream
262- let serverStream = serverMessenger. stream
263267 Task {
264268 try await server. listen ( to: clientStream)
265- }
266- Task {
267- try await client. listen ( to: serverStream)
269+ await serverMessenger. close ( )
268270 }
269271
270272 try await client. sendConnectionInit ( payload: TokenInitPayload ( authToken: " " ) )
273+ try await client. listen ( to: serverMessageStream)
271274
272275 let messages = try await messageStream. reduce ( into: [ String] ( ) ) { result, message in
273276 result. append ( message)
0 commit comments