Skip to content

Commit 86faf47

Browse files
committed
rewrite test
1 parent 009bfd7 commit 86faf47

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

Tests/AsyncHTTPClientTests/HTTPClientInternalTests.swift

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -424,11 +424,10 @@ class HTTPClientInternalTests: XCTestCase {
424424
let randoEL = group.next()
425425

426426
let httpClient = HTTPClient(eventLoopGroupProvider: .shared(group))
427-
let promise: EventLoopPromise<Channel> = httpClient.eventLoopGroup.next().makePromise()
428-
let httpBin = HTTPBin(channelPromise: promise)
427+
let server = NIOHTTP1TestServer(group: MultiThreadedEventLoopGroup(numberOfThreads: 1))
429428
defer {
429+
XCTAssertNoThrow(try server.stop())
430430
XCTAssertNoThrow(try httpClient.syncShutdown(requiresCleanClose: true))
431-
XCTAssertNoThrow(try httpBin.shutdown())
432431
}
433432

434433
let body: HTTPClient.Body = .stream(length: 8) { writer in
@@ -439,21 +438,26 @@ class HTTPClientInternalTests: XCTestCase {
439438
}
440439
}
441440

442-
let request = try Request(url: "http://127.0.0.1:\(httpBin.port)/custom",
441+
let request = try Request(url: "http://127.0.0.1:\(server.serverPort)/custom",
443442
body: body)
444443
let delegate = Delegate(expectedEventLoop: delegateEL, randomOtherEventLoop: randoEL)
445444
let future = httpClient.execute(request: request,
446445
delegate: delegate,
447446
eventLoop: .init(.testOnly_exact(channelOn: channelEL,
448447
delegateOn: delegateEL))).futureResult
449448

450-
let channel = try promise.futureResult.wait()
449+
XCTAssertNoThrow(try server.readInbound()) // .head
450+
XCTAssertNoThrow(try server.readInbound()) // .body
451+
XCTAssertNoThrow(try server.readInbound()) // .end
451452

452453
// Send 3 parts, but only one should be received until the future is complete
453-
let buffer = channel.allocator.buffer(string: "1234")
454-
try channel.writeAndFlush(HTTPServerResponsePart.body(.byteBuffer(buffer))).wait()
454+
XCTAssertNoThrow(try server.writeOutbound(.head(.init(version: .init(major: 1, minor: 1),
455+
status: .ok,
456+
headers: HTTPHeaders([("Transfer-Encoding", "chunked")])))))
457+
let buffer = ByteBuffer(string: "1234")
458+
XCTAssertNoThrow(try server.writeOutbound(.body(.byteBuffer(buffer))))
459+
XCTAssertNoThrow(try server.writeOutbound(.end(nil)))
455460

456-
try channel.writeAndFlush(HTTPServerResponsePart.end(nil)).wait()
457461
let (receivedMessages, sentMessages) = try future.wait()
458462
XCTAssertEqual(2, receivedMessages.count)
459463
XCTAssertEqual(4, sentMessages.count)
@@ -488,7 +492,7 @@ class HTTPClientInternalTests: XCTestCase {
488492

489493
switch receivedMessages.dropFirst(0).first {
490494
case .some(.head(let head)):
491-
XCTAssertEqual(["transfer-encoding": "chunked"], head.headers)
495+
XCTAssertEqual(head.headers["transfer-encoding"].first, "chunked")
492496
default:
493497
XCTFail("wrong message")
494498
}

0 commit comments

Comments
 (0)