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()