2018-02-09 14:11:30 -05:00
|
|
|
#!/bin/bash
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
log() {
|
|
|
|
|
echo ""
|
|
|
|
|
echo "##################################"
|
|
|
|
|
echo "-------> $1"
|
|
|
|
|
echo "##################################"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setup() {
|
2018-04-09 09:17:06 -04:00
|
|
|
export DOCKER_REGISTRY_ADDRESS="127.0.0.1:15000"
|
2018-02-09 14:11:30 -05:00
|
|
|
export DOCKER_REGISTRY_USER="testuser"
|
|
|
|
|
export DOCKER_REGISTRY_PASS="testpwd"
|
2018-04-09 09:17:06 -04:00
|
|
|
export DOCKER_PRIVATE_IMAGE="127.0.0.1:15000/my-private-service:v1"
|
2018-04-09 09:30:15 -04:00
|
|
|
sh "$(pwd)"/scripts/testing/setup_private_registry.sh
|
2018-02-09 14:11:30 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
run() {
|
|
|
|
|
# Run the acc test suite
|
|
|
|
|
TF_ACC=1 go test ./docker -v -timeout 120m
|
|
|
|
|
|
|
|
|
|
# for a single test
|
|
|
|
|
# TF_LOG=INFO TF_ACC=1 go test -v github.com/terraform-providers/terraform-provider-docker/docker -run ^TestAccDockerContainer_basic$ -timeout 360s
|
|
|
|
|
|
|
|
|
|
# keep the return for the scripts to fail and clean properly
|
|
|
|
|
return $?
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cleanup() {
|
|
|
|
|
unset DOCKER_REGISTRY_ADDRESS DOCKER_REGISTRY_USER DOCKER_REGISTRY_PASS DOCKER_PRIVATE_IMAGE
|
|
|
|
|
echo "### unsetted env ###"
|
2018-04-09 14:20:40 -04:00
|
|
|
for p in $(docker container ls -f 'name=private_registry' -q); do docker stop $p; done
|
|
|
|
|
echo "### stopped private registry ###"
|
2018-04-09 09:30:15 -04:00
|
|
|
rm -f "$(pwd)"/scripts/testing/auth/htpasswd
|
|
|
|
|
rm -f "$(pwd)"/scripts/testing/certs/registry_auth.*
|
2018-02-09 14:11:30 -05:00
|
|
|
echo "### removed auth and certs ###"
|
2018-04-09 14:20:40 -04:00
|
|
|
for resource in "container" "volume"; do
|
|
|
|
|
for r in $(docker $resource ls -f 'name=tftest-' -q); do docker $resource rm -f "$r"; done
|
|
|
|
|
echo "### removed $resource ###"
|
|
|
|
|
done
|
|
|
|
|
for resource in "config" "secret" "network"; do
|
|
|
|
|
for r in $(docker $resource ls -f 'name=tftest-' -q); do docker $resource rm "$r"; done
|
|
|
|
|
echo "### removed $resource ###"
|
|
|
|
|
done
|
|
|
|
|
for i in $(docker images -aq 127.0.0.1:5000/tftest-service); do docker rmi -f "$i"; done
|
|
|
|
|
echo "### removed service images ###"
|
2018-02-09 14:11:30 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## main
|
|
|
|
|
log "setup" && setup
|
2018-04-09 14:20:40 -04:00
|
|
|
log "run" && run || (log "cleanup" && cleanup && exit 1)
|
|
|
|
|
log "cleanup" && cleanup
|