test: improve test unit

This commit is contained in:
ttionya committed 2024-05-14 23:49:05 +08:00
1 parent 9b468d6c2d
commit a33c2630f2
4 files changed
+72 -9

No files matched your search

+4 -1
View File
@@ -49,4 +49,7 @@ jobs:
load: true
-
name: Test
run: bash tests/test.sh
run: |
sudo apt-get update
sudo apt-get install -y p7zip-full
bash tests/test.sh
+1
View File
@@ -0,0 +1 @@
{}
+32
View File
@@ -1,3 +1,35 @@
#!/bin/bash
DOCKER_IMAGE="ttionya/vaultwarden-backup:test"
ERROR_NUM=0
OUTPUT_DIR="outputs"
REMOTE_DIR="/${OUTPUT_DIR}"
########################################
# Print colorful message.
# Arguments:
# color
# message
# Outputs:
# colorful message
########################################
function color() {
case $1 in
red) echo -e "\033[31m$2\033[0m" ;;
green) echo -e "\033[32m$2\033[0m" ;;
yellow) echo -e "\033[33m$2\033[0m" ;;
blue) echo -e "\033[34m$2\033[0m" ;;
none) echo "$2" ;;
esac
}
. tests/units/backup-zip-file/test.sh
if [[ "${ERROR_NUM}" == "0" ]]; then
color green "All tests passed."
else
color red "Some tests failed."
exit 1
fi
+35 -8
View File
@@ -1,13 +1,40 @@
#!/bin/bash
echo "Test backup-zip-file"
TEST_NAME="backup-zip-file"
TEST_OUTPUT_DIR="$(pwd)/${OUTPUTS_DIR}/${TEST_NAME}"
mkdir -p outputs/backup-zip-file
PASSWORD="71ad8764-2f69-4c0c-8452-61e08b9f489d"
docker run --rm \
--mount type=bind,source=$(pwd)/outputs/backup-zip-file,target=/outputs \
-e RCLONE_REMOTE_DIR=/outputs \
ttionya/vaultwarden-backup:test \
backup
color blue "Testing the ${TEST_NAME} unit..."
ls -l outputs/backup-zip-file
function prepare() {
mkdir -p "${TEST_OUTPUT_DIR}"
}
function start() {
docker run --rm \
--mount "type=bind,source=${TEST_OUTPUT_DIR},target=${REMOTE_DIR}" \
-e "RCLONE_REMOTE_DIR=${REMOTE_DIR}" \
-e "ZIP_PASSWORD=${PASSWORD}" \
-e "BACKUP_FILE_SUFFIX=test" \
"${DOCKER_IMAGE}" \
backup
}
function test() {
color blue "Starting the test..."
local BACKUP_FILE="${TEST_OUTPUT_DIR}/backup.test.zip"
ls -l "${BACKUP_FILE}"
if [[ -s "${BACKUP_FILE}" ]]; then
color red "Error"
((ERROR_NUM++))
fi
7z l -p"${PASSWORD}" "${BACKUP_FILE}"
}
prepare
start
test