Skip to content

Commit cada019

Browse files
authored
Merge branch 'main' into cb-fix-tests-on-main
2 parents 7745b5c + 3b4942f commit cada019

File tree

2 files changed

+35
-30
lines changed

2 files changed

+35
-30
lines changed

Tests/AsyncHTTPClientTests/HTTPClient+StructuredConcurrencyTests.swift

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import AsyncHTTPClient
1616
import NIO
1717
import NIOFoundationCompat
18+
import NIOHTTP1
1819
import XCTest
1920

2021
final class HTTPClientStructuredConcurrencyTests: XCTestCase {

Tests/AsyncHTTPClientTests/TransactionTests.swift

+34-30
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)