| 19 | include Helper::Omittable |
| 20 | |
| 21 | def setup |
| 22 | @server = nil |
| 23 | omit("Arrow Flight is required") unless defined?(ArrowFlight) |
| 24 | omit("Unstable on Windows") if Gem.win_platform? |
| 25 | omit("Unstable on x86_64 macOS") if /x86_64-darwin/.match?(RUBY_PLATFORM) |
| 26 | require_gi_bindings(3, 4, 5) |
| 27 | @server = Helper::FlightServer.new |
| 28 | host = "127.0.0.1" |
| 29 | location = ArrowFlight::Location.new("grpc://#{host}:0") |
| 30 | options = ArrowFlight::ServerOptions.new(location) |
| 31 | @server.listen(options) |
| 32 | location = ArrowFlight::Location.new("grpc://#{host}:#{@server.port}") |
| 33 | client = ArrowFlight::Client.new(location) |
| 34 | @generator = Helper::FlightInfoGenerator.new |
| 35 | @reader = client.do_get(@generator.page_view_ticket) |
| 36 | end |
| 37 | |
| 38 | def teardown |
| 39 | return if @server.nil? |
nothing calls this directly
no test coverage detected