Use this directory to create resources reflecting the same resource fixtures created for use by the CI environment CI integration test pipelines. The intent of these resources is to run the integration tests locally as closely as possible to how they will run in the CI system.
Once created, store the service account key content into the
SERVICE_ACCOUNT_JSON
environment variable. This reflects the same behavior
as used in CI.
For example:
terraform init
terraform apply
mkdir -p ~/.credentials
terraform output sa_key | base64 --decode > ~/.credentials/cloud-storage-sa.json
Then, configure the environment (suggest using direnv) like so:
export SERVICE_ACCOUNT_JSON=$(cat ${HOME}/.credentials/cloud-storage-sa.json)
export PROJECT_ID="cloud-storage-module"
With these variables set, change to the root of the module and execute the
make test_integration
task. This make target is the same that is executed
by this module's CI pipeline during integration testing, and will run the
integration tests from your machine.
Alternatively, to run the integration tests directly from the Docker
container used by the module's CI pipeline, perform the above steps and then
run the make test_integration_docker
target