@@ -33,8 +33,8 @@ final class TransactionTests: XCTestCase {
3333 // therefore we create it here as a workaround which works fine
3434 let scheduledRequestCanceled = self . expectation ( description: " scheduled request canceled " )
3535 XCTAsyncTest {
36- let embeddedEventLoop = EmbeddedEventLoop ( )
37- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
36+ let loop = NIOAsyncTestingEventLoop ( )
37+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
3838
3939 var request = HTTPClientRequest ( url: " https://localhost/ " )
4040 request. method = . GET
@@ -45,7 +45,7 @@ final class TransactionTests: XCTestCase {
4545 }
4646 let ( transaction, responseTask) = await Transaction . makeWithResultTask (
4747 request: preparedRequest,
48- preferredEventLoop: embeddedEventLoop
48+ preferredEventLoop: loop
4949 )
5050
5151 let queuer = MockTaskQueuer { _ in
@@ -72,8 +72,8 @@ final class TransactionTests: XCTestCase {
7272
7373 func testDeadlineExceededWhileQueuedAndExecutorImmediatelyCancelsTask( ) {
7474 XCTAsyncTest {
75- let embeddedEventLoop = EmbeddedEventLoop ( )
76- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
75+ let loop = NIOAsyncTestingEventLoop ( )
76+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
7777
7878 var request = HTTPClientRequest ( url: " https://localhost/ " )
7979 request. method = . GET
@@ -84,7 +84,7 @@ final class TransactionTests: XCTestCase {
8484 }
8585 let ( transaction, responseTask) = await Transaction . makeWithResultTask (
8686 request: preparedRequest,
87- preferredEventLoop: embeddedEventLoop
87+ preferredEventLoop: loop
8888 )
8989
9090 let queuer = MockTaskQueuer ( )
@@ -127,8 +127,8 @@ final class TransactionTests: XCTestCase {
127127
128128 func testResponseStreamingWorks( ) {
129129 XCTAsyncTest {
130- let embeddedEventLoop = EmbeddedEventLoop ( )
131- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
130+ let loop = NIOAsyncTestingEventLoop ( )
131+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
132132
133133 var request = HTTPClientRequest ( url: " https://localhost/ " )
134134 request. method = . GET
@@ -140,12 +140,12 @@ final class TransactionTests: XCTestCase {
140140 }
141141 let ( transaction, responseTask) = await Transaction . makeWithResultTask (
142142 request: preparedRequest,
143- preferredEventLoop: embeddedEventLoop
143+ preferredEventLoop: loop
144144 )
145145
146146 let executor = MockRequestExecutor (
147147 pauseRequestBodyPartStreamAfterASingleWrite: true ,
148- eventLoop: embeddedEventLoop
148+ eventLoop: loop
149149 )
150150
151151 transaction. willExecuteRequest ( executor)
@@ -186,8 +186,8 @@ final class TransactionTests: XCTestCase {
186186
187187 func testIgnoringResponseBodyWorks( ) {
188188 XCTAsyncTest {
189- let embeddedEventLoop = EmbeddedEventLoop ( )
190- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
189+ let loop = NIOAsyncTestingEventLoop ( )
190+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
191191
192192 var request = HTTPClientRequest ( url: " https://localhost/ " )
193193 request. method = . GET
@@ -199,7 +199,7 @@ final class TransactionTests: XCTestCase {
199199 }
200200 var tuple : ( Transaction , Task < HTTPClientResponse , Error > ) ! = await Transaction . makeWithResultTask (
201201 request: preparedRequest,
202- preferredEventLoop: embeddedEventLoop
202+ preferredEventLoop: loop
203203 )
204204
205205 let transaction = tuple. 0
@@ -208,9 +208,10 @@ final class TransactionTests: XCTestCase {
208208
209209 let executor = MockRequestExecutor (
210210 pauseRequestBodyPartStreamAfterASingleWrite: true ,
211- eventLoop: embeddedEventLoop
211+ eventLoop: loop
212212 )
213213 executor. runRequest ( transaction)
214+ await loop. run ( )
214215
215216 let responseHead = HTTPResponseHead ( version: . http1_1, status: . ok, headers: [ " foo " : " bar " ] )
216217 XCTAssertFalse ( executor. signalledDemandForResponseBody)
@@ -234,8 +235,8 @@ final class TransactionTests: XCTestCase {
234235
235236 func testWriteBackpressureWorks( ) {
236237 XCTAsyncTest {
237- let embeddedEventLoop = EmbeddedEventLoop ( )
238- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
238+ let loop = NIOAsyncTestingEventLoop ( )
239+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
239240
240241 let streamWriter = AsyncSequenceWriter < ByteBuffer > ( )
241242 XCTAssertFalse ( streamWriter. hasDemand, " Did not expect to have a demand at this point " )
@@ -251,12 +252,13 @@ final class TransactionTests: XCTestCase {
251252 }
252253 let ( transaction, responseTask) = await Transaction . makeWithResultTask (
253254 request: preparedRequest,
254- preferredEventLoop: embeddedEventLoop
255+ preferredEventLoop: loop
255256 )
256257
257- let executor = MockRequestExecutor ( eventLoop: embeddedEventLoop )
258+ let executor = MockRequestExecutor ( eventLoop: loop )
258259
259260 executor. runRequest ( transaction)
261+ await loop. run ( )
260262
261263 for i in 0 ..< 100 {
262264 XCTAssertFalse ( streamWriter. hasDemand, " Did not expect to have demand yet " )
@@ -364,8 +366,8 @@ final class TransactionTests: XCTestCase {
364366
365367 func testSimplePostRequest( ) {
366368 XCTAsyncTest {
367- let embeddedEventLoop = EmbeddedEventLoop ( )
368- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
369+ let loop = NIOAsyncTestingEventLoop ( )
370+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
369371
370372 var request = HTTPClientRequest ( url: " https://localhost/ " )
371373 request. method = . POST
@@ -377,11 +379,12 @@ final class TransactionTests: XCTestCase {
377379 }
378380 let ( transaction, responseTask) = await Transaction . makeWithResultTask (
379381 request: preparedRequest,
380- preferredEventLoop: embeddedEventLoop
382+ preferredEventLoop: loop
381383 )
382384
383- let executor = MockRequestExecutor ( eventLoop: embeddedEventLoop )
385+ let executor = MockRequestExecutor ( eventLoop: loop )
384386 executor. runRequest ( transaction)
387+ await loop. run ( )
385388 executor. resumeRequestBodyStream ( )
386389 XCTAssertNoThrow (
387390 try executor. receiveRequestBody {
@@ -403,8 +406,8 @@ final class TransactionTests: XCTestCase {
403406
404407 func testPostStreamFails( ) {
405408 XCTAsyncTest {
406- let embeddedEventLoop = EmbeddedEventLoop ( )
407- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
409+ let loop = NIOAsyncTestingEventLoop ( )
410+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
408411
409412 let writer = AsyncSequenceWriter < ByteBuffer > ( )
410413
@@ -418,11 +421,12 @@ final class TransactionTests: XCTestCase {
418421 }
419422 let ( transaction, responseTask) = await Transaction . makeWithResultTask (
420423 request: preparedRequest,
421- preferredEventLoop: embeddedEventLoop
424+ preferredEventLoop: loop
422425 )
423426
424- let executor = MockRequestExecutor ( eventLoop: embeddedEventLoop )
427+ let executor = MockRequestExecutor ( eventLoop: loop )
425428 executor. runRequest ( transaction)
429+ await loop. run ( )
426430 executor. resumeRequestBodyStream ( )
427431
428432 await writer. demand ( )
@@ -447,8 +451,8 @@ final class TransactionTests: XCTestCase {
447451
448452 func testResponseStreamFails( ) {
449453 XCTAsyncTest ( timeout: 30 ) {
450- let embeddedEventLoop = EmbeddedEventLoop ( )
451- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
454+ let loop = NIOAsyncTestingEventLoop ( )
455+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
452456
453457 var request = HTTPClientRequest ( url: " https://localhost/ " )
454458 request. method = . GET
@@ -460,12 +464,12 @@ final class TransactionTests: XCTestCase {
460464 }
461465 let ( transaction, responseTask) = await Transaction . makeWithResultTask (
462466 request: preparedRequest,
463- preferredEventLoop: embeddedEventLoop
467+ preferredEventLoop: loop
464468 )
465469
466470 let executor = MockRequestExecutor (
467471 pauseRequestBodyPartStreamAfterASingleWrite: true ,
468- eventLoop: embeddedEventLoop
472+ eventLoop: loop
469473 )
470474
471475 transaction. willExecuteRequest ( executor)
0 commit comments