You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ra...@apache.org on 2025/05/29 08:36:26 UTC
(arrow-swift) 08/47: GH-37744: [Swift] Add test for arrow flight doGet FlightData (#37746)
This is an automated email from the ASF dual-hosted git repository.
raulcd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-swift.git
commit 9d7d02d2699c4f0de9f2341b62023415c385fbcb
Author: abandy <ab...@live.com>
AuthorDate: Fri Sep 15 17:06:41 2023 -0400
GH-37744: [Swift] Add test for arrow flight doGet FlightData (#37746)
Add a test for the doGet call that handles the FlightData response.
* Closes: #37744
Authored-by: Alva Bandy <ab...@live.com>
Signed-off-by: Sutou Kouhei <ko...@clear-code.com>
---
ArrowFlight/Tests/ArrowFlightTests/FlightTest.swift | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/ArrowFlight/Tests/ArrowFlightTests/FlightTest.swift b/ArrowFlight/Tests/ArrowFlightTests/FlightTest.swift
index d0db593..3fd52af 100644
--- a/ArrowFlight/Tests/ArrowFlightTests/FlightTest.swift
+++ b/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()