@@ -33,8 +33,8 @@ final class TransactionTests: XCTestCase {
33
33
// therefore we create it here as a workaround which works fine
34
34
let scheduledRequestCanceled = self . expectation ( description: " scheduled request canceled " )
35
35
XCTAsyncTest {
36
- let embeddedEventLoop = EmbeddedEventLoop ( )
37
- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
36
+ let loop = NIOAsyncTestingEventLoop ( )
37
+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
38
38
39
39
var request = HTTPClientRequest ( url: " https://localhost/ " )
40
40
request. method = . GET
@@ -45,7 +45,7 @@ final class TransactionTests: XCTestCase {
45
45
}
46
46
let ( transaction, responseTask) = await Transaction . makeWithResultTask (
47
47
request: preparedRequest,
48
- preferredEventLoop: embeddedEventLoop
48
+ preferredEventLoop: loop
49
49
)
50
50
51
51
let queuer = MockTaskQueuer { _ in
@@ -72,8 +72,8 @@ final class TransactionTests: XCTestCase {
72
72
73
73
func testDeadlineExceededWhileQueuedAndExecutorImmediatelyCancelsTask( ) {
74
74
XCTAsyncTest {
75
- let embeddedEventLoop = EmbeddedEventLoop ( )
76
- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
75
+ let loop = NIOAsyncTestingEventLoop ( )
76
+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
77
77
78
78
var request = HTTPClientRequest ( url: " https://localhost/ " )
79
79
request. method = . GET
@@ -84,7 +84,7 @@ final class TransactionTests: XCTestCase {
84
84
}
85
85
let ( transaction, responseTask) = await Transaction . makeWithResultTask (
86
86
request: preparedRequest,
87
- preferredEventLoop: embeddedEventLoop
87
+ preferredEventLoop: loop
88
88
)
89
89
90
90
let queuer = MockTaskQueuer ( )
@@ -127,8 +127,8 @@ final class TransactionTests: XCTestCase {
127
127
128
128
func testResponseStreamingWorks( ) {
129
129
XCTAsyncTest {
130
- let embeddedEventLoop = EmbeddedEventLoop ( )
131
- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
130
+ let loop = NIOAsyncTestingEventLoop ( )
131
+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
132
132
133
133
var request = HTTPClientRequest ( url: " https://localhost/ " )
134
134
request. method = . GET
@@ -140,12 +140,12 @@ final class TransactionTests: XCTestCase {
140
140
}
141
141
let ( transaction, responseTask) = await Transaction . makeWithResultTask (
142
142
request: preparedRequest,
143
- preferredEventLoop: embeddedEventLoop
143
+ preferredEventLoop: loop
144
144
)
145
145
146
146
let executor = MockRequestExecutor (
147
147
pauseRequestBodyPartStreamAfterASingleWrite: true ,
148
- eventLoop: embeddedEventLoop
148
+ eventLoop: loop
149
149
)
150
150
151
151
transaction. willExecuteRequest ( executor)
@@ -186,8 +186,8 @@ final class TransactionTests: XCTestCase {
186
186
187
187
func testIgnoringResponseBodyWorks( ) {
188
188
XCTAsyncTest {
189
- let embeddedEventLoop = EmbeddedEventLoop ( )
190
- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
189
+ let loop = NIOAsyncTestingEventLoop ( )
190
+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
191
191
192
192
var request = HTTPClientRequest ( url: " https://localhost/ " )
193
193
request. method = . GET
@@ -199,7 +199,7 @@ final class TransactionTests: XCTestCase {
199
199
}
200
200
var tuple : ( Transaction , Task < HTTPClientResponse , Error > ) ! = await Transaction . makeWithResultTask (
201
201
request: preparedRequest,
202
- preferredEventLoop: embeddedEventLoop
202
+ preferredEventLoop: loop
203
203
)
204
204
205
205
let transaction = tuple. 0
@@ -208,9 +208,10 @@ final class TransactionTests: XCTestCase {
208
208
209
209
let executor = MockRequestExecutor (
210
210
pauseRequestBodyPartStreamAfterASingleWrite: true ,
211
- eventLoop: embeddedEventLoop
211
+ eventLoop: loop
212
212
)
213
213
executor. runRequest ( transaction)
214
+ await loop. run ( )
214
215
215
216
let responseHead = HTTPResponseHead ( version: . http1_1, status: . ok, headers: [ " foo " : " bar " ] )
216
217
XCTAssertFalse ( executor. signalledDemandForResponseBody)
@@ -234,8 +235,8 @@ final class TransactionTests: XCTestCase {
234
235
235
236
func testWriteBackpressureWorks( ) {
236
237
XCTAsyncTest {
237
- let embeddedEventLoop = EmbeddedEventLoop ( )
238
- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
238
+ let loop = NIOAsyncTestingEventLoop ( )
239
+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
239
240
240
241
let streamWriter = AsyncSequenceWriter < ByteBuffer > ( )
241
242
XCTAssertFalse ( streamWriter. hasDemand, " Did not expect to have a demand at this point " )
@@ -251,12 +252,13 @@ final class TransactionTests: XCTestCase {
251
252
}
252
253
let ( transaction, responseTask) = await Transaction . makeWithResultTask (
253
254
request: preparedRequest,
254
- preferredEventLoop: embeddedEventLoop
255
+ preferredEventLoop: loop
255
256
)
256
257
257
- let executor = MockRequestExecutor ( eventLoop: embeddedEventLoop )
258
+ let executor = MockRequestExecutor ( eventLoop: loop )
258
259
259
260
executor. runRequest ( transaction)
261
+ await loop. run ( )
260
262
261
263
for i in 0 ..< 100 {
262
264
XCTAssertFalse ( streamWriter. hasDemand, " Did not expect to have demand yet " )
@@ -364,8 +366,8 @@ final class TransactionTests: XCTestCase {
364
366
365
367
func testSimplePostRequest( ) {
366
368
XCTAsyncTest {
367
- let embeddedEventLoop = EmbeddedEventLoop ( )
368
- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
369
+ let loop = NIOAsyncTestingEventLoop ( )
370
+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
369
371
370
372
var request = HTTPClientRequest ( url: " https://localhost/ " )
371
373
request. method = . POST
@@ -377,11 +379,12 @@ final class TransactionTests: XCTestCase {
377
379
}
378
380
let ( transaction, responseTask) = await Transaction . makeWithResultTask (
379
381
request: preparedRequest,
380
- preferredEventLoop: embeddedEventLoop
382
+ preferredEventLoop: loop
381
383
)
382
384
383
- let executor = MockRequestExecutor ( eventLoop: embeddedEventLoop )
385
+ let executor = MockRequestExecutor ( eventLoop: loop )
384
386
executor. runRequest ( transaction)
387
+ await loop. run ( )
385
388
executor. resumeRequestBodyStream ( )
386
389
XCTAssertNoThrow (
387
390
try executor. receiveRequestBody {
@@ -403,8 +406,8 @@ final class TransactionTests: XCTestCase {
403
406
404
407
func testPostStreamFails( ) {
405
408
XCTAsyncTest {
406
- let embeddedEventLoop = EmbeddedEventLoop ( )
407
- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
409
+ let loop = NIOAsyncTestingEventLoop ( )
410
+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
408
411
409
412
let writer = AsyncSequenceWriter < ByteBuffer > ( )
410
413
@@ -418,11 +421,12 @@ final class TransactionTests: XCTestCase {
418
421
}
419
422
let ( transaction, responseTask) = await Transaction . makeWithResultTask (
420
423
request: preparedRequest,
421
- preferredEventLoop: embeddedEventLoop
424
+ preferredEventLoop: loop
422
425
)
423
426
424
- let executor = MockRequestExecutor ( eventLoop: embeddedEventLoop )
427
+ let executor = MockRequestExecutor ( eventLoop: loop )
425
428
executor. runRequest ( transaction)
429
+ await loop. run ( )
426
430
executor. resumeRequestBodyStream ( )
427
431
428
432
await writer. demand ( )
@@ -447,8 +451,8 @@ final class TransactionTests: XCTestCase {
447
451
448
452
func testResponseStreamFails( ) {
449
453
XCTAsyncTest ( timeout: 30 ) {
450
- let embeddedEventLoop = EmbeddedEventLoop ( )
451
- defer { XCTAssertNoThrow ( try embeddedEventLoop . syncShutdownGracefully ( ) ) }
454
+ let loop = NIOAsyncTestingEventLoop ( )
455
+ defer { XCTAssertNoThrow ( try loop . syncShutdownGracefully ( ) ) }
452
456
453
457
var request = HTTPClientRequest ( url: " https://localhost/ " )
454
458
request. method = . GET
@@ -460,12 +464,12 @@ final class TransactionTests: XCTestCase {
460
464
}
461
465
let ( transaction, responseTask) = await Transaction . makeWithResultTask (
462
466
request: preparedRequest,
463
- preferredEventLoop: embeddedEventLoop
467
+ preferredEventLoop: loop
464
468
)
465
469
466
470
let executor = MockRequestExecutor (
467
471
pauseRequestBodyPartStreamAfterASingleWrite: true ,
468
- eventLoop: embeddedEventLoop
472
+ eventLoop: loop
469
473
)
470
474
471
475
transaction. willExecuteRequest ( executor)
0 commit comments