ref: Change tests architecture

This commit is contained in:
Carlos Álvaro
2021-10-23 10:45:13 +02:00
committed by Carlos Álvaro
parent 36a68e14a2
commit 69a0e97a7b
7 changed files with 153 additions and 62 deletions

6
tests/basic/README.md Normal file
View File

@@ -0,0 +1,6 @@
# Basic Tests
Checks:
- the image has the right `salt-master` version installed.
- the `healthcheck` is working.

41
tests/basic/test.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/usr/bin/env bash
set -e
[ "${DEBUG}" == true ] && set -vx
echo "🧪 Running basic tests ..."
IMAGE_NAME=${IMAGE_NAME:-cdalvaro/docker-salt-master}
CONTAINER_NAME=salt_master
PLATFORM=${PLATFORM:-$(docker version --format='{{.Server.Os}}/{{.Server.Arch}}')}
BOOTUP_WAIT_SECONDS=${BOOTUP_WAIT_SECONDS:-60}
function cleanup {
echo "==> Removing ${CONTAINER_NAME} ..."
docker container rm --force "${CONTAINER_NAME}"
}
trap cleanup EXIT
# Run test instance
echo "==> Starting docker-salt-master (${PLATFORM}) ..."
docker run --rm --detach --name "${CONTAINER_NAME}" \
--publish 4505:4505 --publish 4506:4506 \
--platform "${PLATFORM}" \
"${IMAGE_NAME}" || ( echo "container started ❌"; exit 1 )
echo "container started ✅"
# Wait for salt-master bootup
echo "==> Waiting ${BOOTUP_WAIT_SECONDS} seconds for the container to be ready ..."
sleep "${BOOTUP_WAIT_SECONDS}"
# Check salt version
echo "==> Checking salt version ..."
docker exec "${CONTAINER_NAME}" salt --versions
[[ "$(docker exec ${CONTAINER_NAME} salt --version)" == "salt $(cat VERSION)" ]] || ( echo "salt version ❌"; exit 1 )
echo "salt version ✅"
# Test image calling healthcheck
echo "==> Executing healthcheck ..."
docker exec "${CONTAINER_NAME}" /usr/local/sbin/healthcheck | grep -i 'true' || ( echo "healthcheck ❌"; exit 1 )
echo "healthcheck ✅"