(feature) Test integration with Cucumber / Aruba #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This integration test uses a Terrafile which lists 2 modules, one of
whose 'version' is a tag and the other with a SHA for its 'version'.
We exercise the full stack -- i.e. git clones and pulls and checks out.
We use Aruba library for testing command-line apps:
https://app.cucumber.pro/projects/aruba/documents/branch/master/features/0/README.md
It tidies up after the tests are run, removing files created /
downloaded from the
tmp/aruba/
directory.The process of writing these integration tests resulted in a few
changes:
we move
MODULES_PATH
constant to theTerrafile
namespace fromInstaller
. Makes more sense, and now joins theTERRAFILE_PATH
.when shelling out via
Open3.capture3(cmd)
we only ever now sendSTDOUT to dev null. If the cmd exits non-zero we now always have
useful error information from STDERR passed on to
the
Terrafile::Error
message.we no longer do a 'shallow'
git clone
as this is incompatible('reference is not a tree' error) with our later
git checkout %{version}