Description
I have an integration test suite for the CLI [1]. It currently has about 20 tests, and has been very useful in testing that fixes on the CLI to give some confidence fixes do not introduce other defects.
I originally started writing tests with java and junit. But jline hangs when testing the CLI in the same JVM as Junit. I next looked at using Java ProcessBuilder to execute the CLI, but that was unreliable and left lots of processes hanging around. I ended up with the Python and the pexpect library and wiremock for simulating the REST services.
I can add some more instructions for adding new tests (e.g. recording REST calls with wiremock) when this branch gets merged in.
The changes are contained in the branch: stratos-651-cli-test-suite [1]. In summary:
- there are some changes to the CLI components pom.xml
- there is a new src/test/python folder in the CLI component.
There is a Jenkins build to prove the tests are able to run on maven [2].
—
[1] https://git-wip-us.apache.org/repos/asf?p=incubator-stratos.git;a=commit;h=cb3a22e8c0a07027e6a90dd6923cce08122a7c15
[2] https://builds.apache.org/view/All/job/Stratos-CLI-IntegrationTest-Branch-Build/