zeroshade commented on PR #40311: URL: https://github.com/apache/arrow/pull/40311#issuecomment-1981871042
@erratic-pattern thanks for doing this. As far as how the tests are structured, there's three primary files specific to flightsql: - `client_test.go`: contains a mocked `GrpcClientStream` object and a mock `FlightServiceClient` object to isolate the FlightSQL logic. Everything is part of the `FlightSqlClientSuite` test object, so adding a new test is just adding a new method named using the pattern `TestXXXXX()` and it will automatically get picked up. You can look at `SetupTest` and `TearDownTest` for the setup and teardown which currently just consist of setting up the mocks and asserting the expectations happen. - `server_test.go`: You can look at `FlightSqlServerSuite` and its methods for the basic test suite that starts up a flight server using the `testServer` object in that file. Adding proper tests there would require simply adding any needed functionality to the `testServer` methods and corresponding test methods in the `FlightSqlServerSuite` and the `FlightSqlServerSessionSuite` if its relevant to test the Session based interactions too. - `sqlite_server_test.go` is a test suite which just tests the example SQLite FlightSQL server. You could add the stateless prepared statement support to the sqlite server in the `example` subdir, and then test it in this file. Hope that helps! If you want me to look closely at this while it's still a draft let me know, otherwise I'll wait until you mark it as `ready for review` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
