Open ms-k1ngk0ng opened 2 years ago
I would actually consider this task differently: I would think about creating a third repo specifically for making it easier to use the Generator and the Engine together. I think the idea of how to bundle the two tools is counter-intuitive because it's a bit of a 'chicken or egg' situation. On the one hand, you need the Generator to create tests for the Engine to execute: so it would make sense the Engine would be included as a gem within the Generator for ease of use (i.e. if you want the Engine, you have to start with the Generator). However, the Generator is pretty much a one-time use tool. You don't need to continually regenerate TestScripts for a given IG - whereas the Engine will not be a one-time use tool. So it doesn't really make sense to include the Engine within the Generator if the Engine is going to be the 'high-use' tool. But the alternative of including the Generator in the Engine doesn't make a ton of sense because there is a very realistic scenario where one only wants to generate tests using our tool but wants to run them using cough cough another tool. What I'd advise is this third repo to address the issue. It'll make it easier for those who want to use both tools together, while not confusing users about the ability to use them independently. Within that repo, this idea for a reference server fits nicely because you're essentially providing an end-to-end testing sandbox. Upon booting that testing sandbox, the HAPI JPA gets spun up in the background too.
We're going to be writing a lot of very basic tests – having a very basic reference server (very low effort to maintain) to throw these tests against will be a good sanity check on test quality.
This is intended to be super low-effort --- literally just a script for running the server and any related DB configuration requirements.