We reimagine driver BDDs in 3.0 to concentrate on the drivers' API testing instead of recovering the server's validations for each client.
The goals are:
reduce the amount of time spent on driver testing without significant benefits (-> reduce CI costs and mitigate CI configuration);
make sure that all the drivers implement the required features in a similar fashion;
make the process of developing and maintaining driver BDDs (both declarations and implementations) faster and lighter.
Implementation
The updated driver BDDs use the updated step declarations from TypeDB 3.0 server but also introduce special steps relevant only to clients to avoid the need to reimplement complex parsing algorithms in different languages.
It's expected that all the drivers maintained by TypeDB cover the following BDD packages:
connection (mostly for "exotic" cases of a small amount);
driver (aims to cover all possible API calls that should be implemented for each driver).
Usage and product changes
We reimagine driver BDDs in 3.0 to concentrate on the drivers' API testing instead of recovering the server's validations for each client.
The goals are:
Implementation
The updated driver BDDs use the updated step declarations from TypeDB 3.0 server but also introduce special steps relevant only to clients to avoid the need to reimplement complex parsing algorithms in different languages.
It's expected that all the drivers maintained by TypeDB cover the following BDD packages: