Skip to content

Instantly share code, notes, and snippets.

@joe-niland
Last active July 3, 2020 20:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joe-niland/7537995ff25fcd1262f9eb40cb1fb30c to your computer and use it in GitHub Desktop.
Save joe-niland/7537995ff25fcd1262f9eb40cb1fb30c to your computer and use it in GitHub Desktop.
Local testing of https://github.com/cloudposse/ Terraform modules

CloudPosse Terraform Testing

(Tested in zsh shell)

Mac

  1. Set env vars:
  2. export GITHUB_TOKEN=...
  3. export GOEXE=/usr/local/bin/go
  4. Change test/src/Makefile:
ifeq ($(shell uname -s),Linux)
# becomes:
ifeq ($(shell uname -s),$(filter $(shell uname -s),Linux Darwin))
  1. Create an AWS session (i.e. AWS_SECRET_ACCESS_KEY, AWS_ACCESS_KEY_ID, AWS_SESSION_TOKEN set)
aws-vault exec my-profile
  1. cd test/src
  2. make test

Docker

Ensure you don't have the above Makefile changes for Mac

  1. Create an AWS session (i.e. AWS_SECRET_ACCESS_KEY, AWS_ACCESS_KEY_ID, AWS_SESSION_TOKEN set)
aws-vault exec my-profile
  1. cd test/src
  2. docker run --rm -it -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN -e GITHUB_TOKEN -e PATH="/usr/local/terraform/0.12/bin:/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" -v $(pwd)/../../:/module/ cloudposse/test-harness -C /module/test/src test
  1. Create an AWS session (i.e. AWS_SECRET_ACCESS_KEY, AWS_ACCESS_KEY_ID, AWS_SESSION_TOKEN set)
aws-vault exec my-profile
  1. cd test/src
  2. docker run --rm -it -e GOEXE=/usr/local/go/bin/go -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN -e GITHUB_TOKEN -v $(pwd)/../../:/module/ cloudposse/geodesic:0.132.2 make -C /module/test/src test
@osterman
Copy link

osterman commented Jul 3, 2020

We can now also use cloudposse/test-harness:latest

@joe-niland
Copy link
Author

Updated with commands for using test-harness - thanks @osterman

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment