mirror of
https://github.com/ViViDboarder/docker-restic-cron.git
synced 2024-12-03 10:26:54 +00:00
Clean test scripts
This commit is contained in:
parent
f57ea36f98
commit
707b8f304b
@ -1,8 +1,6 @@
|
||||
.travis.yml
|
||||
Dockerfile.*
|
||||
Makefile
|
||||
Readme.md
|
||||
docker-compose.yaml
|
||||
docker-compose-test-s3.yml
|
||||
test.sh
|
||||
itest.sh
|
||||
test-s3.sh
|
||||
tests/
|
||||
|
8
Makefile
8
Makefile
@ -19,22 +19,22 @@ build-all: build-x86 build-arm
|
||||
|
||||
.PHONY: test-x86
|
||||
test-x86: build-x86
|
||||
./test.sh $(DOCKER_TAG):ubuntu
|
||||
cd tests && ./test.sh $(DOCKER_TAG):ubuntu
|
||||
|
||||
.PHONY: test-arm
|
||||
test-arm: build-arm
|
||||
./test.sh $(DOCKER_TAG):raspbian
|
||||
cd tests && .test.sh $(DOCKER_TAG):raspbian
|
||||
|
||||
.PHONY: test-all
|
||||
test-all: test-x86 test-arm
|
||||
|
||||
.PHONY: test-s3-x86
|
||||
test-s3-x86:
|
||||
./test-s3.sh ubuntu
|
||||
cd tests && ./test-s3.sh ubuntu
|
||||
|
||||
.PHONY: test-s3-arm
|
||||
test-s3-arm:
|
||||
./test-s3.sh raspbian
|
||||
cd tests && ./test-s3.sh raspbian
|
||||
|
||||
.PHONY: test-s3-all
|
||||
test-s3-all: test-s3-x86 test-s3-arm
|
||||
|
47
itest.sh
47
itest.sh
@ -1,47 +0,0 @@
|
||||
#! /bin/bash
|
||||
set -e
|
||||
|
||||
echo "Performing backup tests"
|
||||
|
||||
echo "Verify cron and crontab exist"
|
||||
type cron
|
||||
type crontab
|
||||
|
||||
echo "Create test data..."
|
||||
mkdir -p /data && echo Test > /data/test.txt
|
||||
|
||||
echo "Making backup..."
|
||||
/backup.sh
|
||||
|
||||
echo "Verify backup..."
|
||||
/verify.sh
|
||||
|
||||
echo "Delete test data..."
|
||||
rm -fr /data/*
|
||||
|
||||
echo "Verify deleted..."
|
||||
test -f /data/test.txt && exit 1 || echo "Gone"
|
||||
|
||||
echo "Restore backup..."
|
||||
/restore.sh
|
||||
|
||||
echo "Verify backup..."
|
||||
/verify.sh
|
||||
|
||||
echo "Delete test data again..."
|
||||
rm -fr /data/*
|
||||
|
||||
echo "Verify deleted..."
|
||||
test -f /data/test.txt && exit 1 || echo "Gone"
|
||||
|
||||
echo "Simulate a restart with RESTORE_ON_EMPTY_START..."
|
||||
RESTORE_ON_EMPTY_START=true /entrypoint.sh
|
||||
|
||||
echo "Verify restore happened..."
|
||||
test -f /data/test.txt
|
||||
|
||||
echo "Verify restore with incorrect passphrase fails..."
|
||||
export PASSPHRASE=Incorrect.Mule.Solar.Paperclip
|
||||
|
||||
echo "Fail to restore backup..."
|
||||
/restore.sh && exit 1 || echo "OK"
|
10
test.sh
10
test.sh
@ -1,10 +0,0 @@
|
||||
#! /bin/bash
|
||||
|
||||
image=$1
|
||||
|
||||
# Run the test script within the container
|
||||
docker run --rm \
|
||||
-e SKIP_ON_START=true \
|
||||
-v "$(pwd)/itest.sh:/itest.sh" \
|
||||
$image \
|
||||
bash -c "/itest.sh"
|
@ -2,12 +2,13 @@ version: '2'
|
||||
services:
|
||||
duplicity:
|
||||
build:
|
||||
context: .
|
||||
context: ..
|
||||
dockerfile: Dockerfile.${DOCKER_BASE}
|
||||
entrypoint: "bash"
|
||||
command: ["/itest.sh"]
|
||||
command: ["/test.sh"]
|
||||
hostname: itest
|
||||
environment:
|
||||
IN_CONTAINER: 'true'
|
||||
SKIP_ON_START: 'true'
|
||||
OPT_ARGUMENTS: '--s3-unencrypted-connection'
|
||||
BACKUP_DEST: s3://minio:9000/duplicity
|
||||
@ -15,7 +16,7 @@ services:
|
||||
AWS_ACCESS_KEY_ID: SUPER_SECRET_ACCESS_KEY
|
||||
AWS_SECRET_ACCESS_KEY: SUPER_SECRET_SECRET_KEY
|
||||
volumes:
|
||||
- "./itest.sh:/itest.sh"
|
||||
- "./test.sh:/test.sh"
|
||||
links:
|
||||
- minio
|
||||
minio:
|
58
tests/test.sh
Executable file
58
tests/test.sh
Executable file
@ -0,0 +1,58 @@
|
||||
#! /bin/bash
|
||||
|
||||
image=$1
|
||||
|
||||
if [ "$IN_CONTAINER" != "true" ] ; then
|
||||
# Run the test script within the container
|
||||
docker run --rm \
|
||||
-e IN_CONTAINER=true \
|
||||
-e SKIP_ON_START=true \
|
||||
-v "$(pwd)/test.sh:/test.sh" \
|
||||
$image \
|
||||
bash -c "/test.sh"
|
||||
else
|
||||
echo "Performing backup tests"
|
||||
|
||||
echo "Verify cron and crontab exist"
|
||||
type cron
|
||||
type crontab
|
||||
|
||||
echo "Create test data..."
|
||||
mkdir -p /data && echo Test > /data/test.txt
|
||||
|
||||
echo "Making backup..."
|
||||
/backup.sh
|
||||
|
||||
echo "Verify backup..."
|
||||
/verify.sh
|
||||
|
||||
echo "Delete test data..."
|
||||
rm -fr /data/*
|
||||
|
||||
echo "Verify deleted..."
|
||||
test -f /data/test.txt && exit 1 || echo "Gone"
|
||||
|
||||
echo "Restore backup..."
|
||||
/restore.sh
|
||||
|
||||
echo "Verify backup..."
|
||||
/verify.sh
|
||||
|
||||
echo "Delete test data again..."
|
||||
rm -fr /data/*
|
||||
|
||||
echo "Verify deleted..."
|
||||
test -f /data/test.txt && exit 1 || echo "Gone"
|
||||
|
||||
echo "Simulate a restart with RESTORE_ON_EMPTY_START..."
|
||||
RESTORE_ON_EMPTY_START=true /entrypoint.sh
|
||||
|
||||
echo "Verify restore happened..."
|
||||
test -f /data/test.txt
|
||||
|
||||
echo "Verify restore with incorrect passphrase fails..."
|
||||
export PASSPHRASE=Incorrect.Mule.Solar.Paperclip
|
||||
|
||||
echo "Fail to restore backup..."
|
||||
/restore.sh && exit 1 || echo "OK"
|
||||
fi
|
Loading…
Reference in New Issue
Block a user