From 73c617bb3d12d340aebc2ad530660d9848fa7a44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20=C3=81lvaro?= Date: Thu, 4 Nov 2021 19:10:34 +0100 Subject: [PATCH] fix(test): Fix GitFS tests --- .github/workflows/build-and-test.yml | 4 +-- tests/gitfs/test.sh | 42 +++++++++++++--------------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 7d74b68..8e84110 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -124,8 +124,8 @@ jobs: GITFS_KEYS_DIR: tests/gitfs/data/keys/gitfs run: | mkdir -p "${GITFS_KEYS_DIR}" - echo ${{ secrets.TESTS_REPO_PRIVATE_KEY }} > "${GITFS_KEYS_DIR}"/gitfs_ssh && chmod 600 !$ - echo ${{ secrets.TESTS_REPO_PUBLIC_KEY }} > "${GITFS_KEYS_DIR}"/gitfs_ssh.pub && chmod 644 !$ + echo "${{ secrets.TESTS_REPO_PRIVATE_KEY }}" > "${GITFS_KEYS_DIR}"/gitfs_ssh && chmod 600 !$ + echo "${{ secrets.TESTS_REPO_PUBLIC_KEY }}" > "${GITFS_KEYS_DIR}"/gitfs_ssh.pub && chmod 644 !$ tests/gitfs/test.sh - name: Cleanup diff --git a/tests/gitfs/test.sh b/tests/gitfs/test.sh index bd49a74..e2f6592 100755 --- a/tests/gitfs/test.sh +++ b/tests/gitfs/test.sh @@ -3,39 +3,35 @@ set -e [ "${DEBUG}" == true ] && set -vx +# https://stackoverflow.com/a/4774063/3398062 +SCRIPT_PATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + +# shellcheck source=assets/build/functions.sh +COMMON_FILE="${SCRIPT_PATH}/../lib/common.sh" +source "${COMMON_FILE}" + echo "๐Ÿงช Running gitfs 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 +trap cleanup EXIT # Run test instance echo "==> Starting docker-salt-master (${PLATFORM}) with RSA 4096 ssh key ..." -docker run --rm --detach --name "${CONTAINER_NAME}" \ - --publish 4505:4505 --publish 4506:4506 \ - --platform "${PLATFORM}" \ +start_container_and_wait \ --volume "$(pwd)/tests/gitfs/config":/home/salt/data/config:ro \ --volume "$(pwd)/tests/gitfs/data/keys":/home/salt/data/keys \ - "${IMAGE_NAME}" || ( echo "container started โŒ"; exit 1 ) -echo "container started โœ…" +|| error "container started" +ok "container started" -# Wait for salt-master bootup -echo "==> Waiting ${BOOTUP_WAIT_SECONDS} seconds for the container to be ready ..." -sleep "${BOOTUP_WAIT_SECONDS}" +# Update repositories +echo "==> Updating gitfs repositories ..." +docker exec "${CONTAINER_NAME}" salt-run cache.clear_git_lock gitfs type=update +UPDATE_REPOS="$(docker exec "${CONTAINER_NAME}" salt-run fileserver.update)" +echo "${UPDATE_REPOS}" | grep -qi 'true' || error "update gitfs" +ok "update gitfs" # Check pillars echo "==> Checking gitfs files ..." -# docker exec "${CONTAINER_NAME}" salt-run cache.clear_git_lock gitfs type=update -# docker exec "${CONTAINER_NAME}" salt-run fileserver.update FILE_LIST=$(docker exec "${CONTAINER_NAME}" salt-run fileserver.file_list) echo "${FILE_LIST}" -[[ "${FILE_LIST}" == *test.txt* ]] || ( echo "gitfs files โŒ"; exit 1 ) -echo "gitfs files โœ…" +[[ "${FILE_LIST}" == *test.txt* ]] || error "gitfs files" +ok "gitfs files"