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]

Reply via email to