@@ -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 )
106108 let clientStream = clientMessenger. stream
107- let serverStream = serverMessenger. 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,28 +170,25 @@ 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 )
177180 let clientStream = clientMessenger. stream
178- let serverStream = serverMessenger. 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 (
187187 payload: TokenInitPayload (
188188 authToken: " "
189189 )
190190 )
191+ try await client. listen ( to: serverMessageStream)
191192
192193 let messages = try await messageStream. reduce ( into: [ String] ( ) ) { result, message in
193194 result. append ( message)
@@ -226,6 +227,11 @@ struct GraphqlTransportWSTests {
226227 }
227228 )
228229 let ( messageStream, messageContinuation) = AsyncThrowingStream < String , any Error > . makeStream ( )
230+ // Used to extract the server messages
231+ let serverMessageStream = serverMessenger. stream. map { message in
232+ messageContinuation. yield ( message)
233+ return message
234+ }
229235 let client = Client < TokenInitPayload > (
230236 messenger: clientMessenger,
231237 onConnectionAck: { _, client in
@@ -255,28 +261,25 @@ struct GraphqlTransportWSTests {
255261 } ,
256262 onError: { message, _ in
257263 messageContinuation. finish ( throwing: message. payload [ 0 ] )
264+ await clientMessenger. close ( )
258265 } ,
259266 onComplete: { _, _ in
260267 messageContinuation. finish ( )
261- } ,
262- onMessage: { message, _ in
263- messageContinuation. yield ( message)
268+ await clientMessenger. close ( )
264269 }
265270 )
266271 let clientStream = clientMessenger. stream
267- let serverStream = serverMessenger. stream
268272 Task {
269273 try await server. listen ( to: clientStream)
270- }
271- Task {
272- try await client. listen ( to: serverStream)
274+ await serverMessenger. close ( )
273275 }
274276
275277 try await client. sendConnectionInit (
276278 payload: TokenInitPayload (
277279 authToken: " "
278280 )
279281 )
282+ try await client. listen ( to: serverMessageStream)
280283
281284 let messages = try await messageStream. reduce ( into: [ String] ( ) ) { result, message in
282285 result. append ( message)
0 commit comments