Browse Source

Clean test scripts

flock
ViViDboarder 1 year ago
parent
commit
707b8f304b
7 changed files with 68 additions and 68 deletions
  1. 2
    4
      .dockerignore
  2. 4
    4
      Makefile
  3. 0
    47
      itest.sh
  4. 0
    10
      test.sh
  5. 4
    3
      tests/docker-compose-test-s3.yml
  6. 0
    0
      tests/test-s3.sh
  7. 58
    0
      tests/test.sh

+ 2
- 4
.dockerignore View File

@@ -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/

+ 4
- 4
Makefile View File

@@ -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

+ 0
- 47
itest.sh View File

@@ -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"

+ 0
- 10
test.sh View File

@@ -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"

docker-compose-test-s3.yml → tests/docker-compose-test-s3.yml View File

@@ -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:

test-s3.sh → tests/test-s3.sh View File


+ 58
- 0
tests/test.sh View 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…
Cancel
Save