From ef9e372807b4403c407cbbaad2f92e83e502954b Mon Sep 17 00:00:00 2001 From: Alva Bandy Date: Fri, 15 Sep 2023 15:25:19 -0400 Subject: [PATCH] GH-37744: [Swift] Add test for arrow flight doGet FlightData --- .../Tests/ArrowFlightTests/FlightTest.swift | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/swift/ArrowFlight/Tests/ArrowFlightTests/FlightTest.swift b/swift/ArrowFlight/Tests/ArrowFlightTests/FlightTest.swift index d0db593b10304..3fd52af08b82f 100644 --- a/swift/ArrowFlight/Tests/ArrowFlightTests/FlightTest.swift +++ b/swift/ArrowFlight/Tests/ArrowFlightTests/FlightTest.swift @@ -225,6 +225,25 @@ public class FlightClientTester { XCTAssertEqual(num_call, 1) } + func doGetTestFlightData() async throws { + let ticket = FlightTicket("flight_ticket test".data(using: .utf8)!) + var num_call = 0 + try await client?.doGet(ticket, flightDataClosure: { flightData in + let reader = ArrowReader(); + let result = reader.fromStream(flightData.dataBody) + switch result { + case .success(let rb): + XCTAssertEqual(rb.schema?.fields.count, 3) + XCTAssertEqual(rb.batches[0].length, 4) + num_call += 1 + case .failure(let error): + throw error + } + }) + + XCTAssertEqual(num_call, 1) + } + func doPutTest() async throws { let rb = try makeRecordBatch() var num_call = 0 @@ -290,6 +309,7 @@ final class FlightTest: XCTestCase { try await clientImpl.doActionTest() try await clientImpl.getSchemaTest() try await clientImpl.doGetTest() + try await clientImpl.doGetTestFlightData() try await clientImpl.doPutTest() try await clientImpl.doExchangeTest()