Skip to content

Commit 7debf11

Browse files
committed
added tests for new helpers
1 parent 4793010 commit 7debf11

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

Diff for: Tests/AsyncHTTPClientTests/AsyncAwaitEndToEndTests.swift

+44
Original file line numberDiff line numberDiff line change
@@ -835,6 +835,50 @@ final class AsyncAwaitEndToEndTests: XCTestCase {
835835
}
836836
}
837837
}
838+
839+
func testResponseBytesHelper() {
840+
XCTAsyncTest {
841+
let bin = HTTPBin(.http2(compress: false)) { _ in HTTPEchoHandler() }
842+
defer { XCTAssertNoThrow(try bin.shutdown()) }
843+
let client = makeDefaultHTTPClient()
844+
defer { XCTAssertNoThrow(try client.syncShutdown()) }
845+
let logger = Logger(label: "HTTPClient", factory: StreamLogHandler.standardOutput(label:))
846+
var request = HTTPClientRequest(url: "https://localhost:\(bin.port)/")
847+
request.method = .POST
848+
request.body = .bytes(ByteBuffer(string: "1234"))
849+
850+
guard let response = await XCTAssertNoThrowWithResult(
851+
try await client.execute(request, deadline: .now() + .seconds(10), logger: logger)
852+
) else { return }
853+
XCTAssertEqual(response.headers["content-length"], ["4"])
854+
guard let body = await XCTAssertNoThrowWithResult(
855+
try await response.bytes()
856+
) else { return }
857+
XCTAssertEqual(body, ByteBuffer(string: "1234"))
858+
}
859+
}
860+
861+
func testResponseBodyDataHelper() {
862+
XCTAsyncTest {
863+
let bin = HTTPBin(.http2(compress: false)) { _ in HTTPEchoHandler() }
864+
defer { XCTAssertNoThrow(try bin.shutdown()) }
865+
let client = makeDefaultHTTPClient()
866+
defer { XCTAssertNoThrow(try client.syncShutdown()) }
867+
let logger = Logger(label: "HTTPClient", factory: StreamLogHandler.standardOutput(label:))
868+
var request = HTTPClientRequest(url: "https://localhost:\(bin.port)/")
869+
request.method = .POST
870+
request.body = .bytes(ByteBuffer(string: "1234"))
871+
872+
guard let response = await XCTAssertNoThrowWithResult(
873+
try await client.execute(request, deadline: .now() + .seconds(10), logger: logger)
874+
) else { return }
875+
XCTAssertEqual(response.headers["content-length"], ["4"])
876+
guard let bodyData = await XCTAssertNoThrowWithResult(
877+
try await response.data
878+
) else { return }
879+
XCTAssertEqual(bodyData, "1234".data(using: .utf8))
880+
}
881+
}
838882
}
839883

840884
struct AnySendableSequence<Element>: @unchecked Sendable {

0 commit comments

Comments
 (0)