diff --git a/Tests/AsyncHTTPClientTests/HTTP1ConnectionTests.swift b/Tests/AsyncHTTPClientTests/HTTP1ConnectionTests.swift index 4638b8b5a..a42067173 100644 --- a/Tests/AsyncHTTPClientTests/HTTP1ConnectionTests.swift +++ b/Tests/AsyncHTTPClientTests/HTTP1ConnectionTests.swift @@ -480,13 +480,26 @@ class HTTP1ConnectionTests: XCTestCase { XCTAssertEqual(connectionDelegate.hitConnectionClosed, 0) XCTAssertEqual(connectionDelegate.hitConnectionReleased, 0) XCTAssertNoThrow(try embedded.writeInbound(ByteBuffer(string: responseString))) - XCTAssertFalse(embedded.isActive) - (embedded.eventLoop as! EmbeddedEventLoop).run() // tick once to run futures. - XCTAssertEqual(connectionDelegate.hitConnectionClosed, 1) - XCTAssertEqual(connectionDelegate.hitConnectionReleased, 0) - XCTAssertThrowsError(try requestBag.task.futureResult.wait()) { - XCTAssertEqual($0 as? HTTPClientError, .httpEndReceivedAfterHeadWith1xx) + if !embedded.isActive { + // behavior before https://github.com/apple/swift-nio/pull/1984 + embedded.embeddedEventLoop.run() // tick once to run futures. + XCTAssertEqual(connectionDelegate.hitConnectionClosed, 1) + XCTAssertEqual(connectionDelegate.hitConnectionReleased, 0) + + XCTAssertThrowsError(try requestBag.task.futureResult.wait()) { + XCTAssertEqual($0 as? HTTPClientError, .httpEndReceivedAfterHeadWith1xx) + } + } else { + // behavior after https://github.com/apple/swift-nio/pull/1984 + XCTAssertNoThrow(try embedded.close().wait()) + embedded.embeddedEventLoop.run() // tick once to run futures. + XCTAssertEqual(connectionDelegate.hitConnectionClosed, 1) + XCTAssertEqual(connectionDelegate.hitConnectionReleased, 0) + + XCTAssertThrowsError(try requestBag.task.futureResult.wait()) { + XCTAssertEqual($0 as? HTTPClientError, .remoteConnectionClosed) + } } }