CI lacks tests for the database drivers
jonesmz opened this issue · comments
The CI lacks any automated tests to ensure the database drivers work correctly.
Comprehensive testing would involve (but isn't limited to):
- Setting up a database using the turnserver's setup code for the DBDriver in question,
- triggering an operation on each of the dbdriver interface's functions using the customary mechanism to trigger that
- Also validating the operation with direct DB reads.
Wrenches that need to be thrown include:
( each of the below apply separately to each DB operation listed in the interface struct )
- Manually setup the DB, with intentional problems, such as an invalid schema or an insane number of rows of data
- Changing the DB during the operation of the server and ensuring the server picks up the new values in the way expected --
- Injecting values into the DB that are intended to break parsing code that is not properly defensive
- Sending data to the turnserver that will result in the data being fed into queries with the goal of performing sql injection attacks.