blob: ad1d7335ee50a9de462253b0a92bf8799cb4938e [file] [log] [blame] [view]
# What's this for?
Testing in the EC2 environment gets to be tedious after a while. We should not
have to deploy and test basic runner coordinator interactions manually in the
EC2 environment which takes time and is error prone.
We want to make sure that some interaction tests are always tested beforehand
and guarranteed to function properly between runners and the coordinator in
the webapp project.
To do this properly we need to use the runner jar produced from the example
project, and have it run along side the executable jar from the webapp project
that contains the coordinator. Doing this in the existing project modules
causes a headache because the executable jars must be generated then used
across at least two separate projects. This also creates cyclic module
dependencies which maven will complain about.
This is the reason we chose to do these tests in a separate module that can
start multiple runners produced from the example project with its chop tests,
and the webapp project which contains the coordinator.
Optionally if the right properties are enabled, this module will attempt to
actually create a stack on EC2 to run the application. The example project
does not need this however this functionality can be tested if a valid
Amazon account is active, if not then the test will not bomb out, but will
pass. If the Amazon account and credentials are available then an example
stack will be created and tested for correct creation and destruction.