-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathtest_bb.sh
More file actions
executable file
·79 lines (65 loc) · 1.6 KB
/
test_bb.sh
File metadata and controls
executable file
·79 lines (65 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/bash
# Unit testing for Butterfly Backup system
echo "Python3 is installed?"
if [ -n "/bin/python3" ]; then
echo "Python3 exists!"
python3 -m venv venv
else
exit 1
fi
# Add execute permission on bb.py
echo "Activate Python venv"
. venv/bin/activate
echo "Install Butterfly backup into venv"
venv/bin/pip install .
# Create enviroment for first backup
repo=/tmp/bb_repo
if [ -d $repo ]; then
rm -rf /tmp/bb_*
fi
echo "Create enviroment for first backup"
mkdir $repo
echo "Create Butterfly Backup folder $repo"
data=/tmp/bb_client
mkdir $data
echo "Create client folder $data"
touch $data/file.txt $data/file.docx $data/file.xlsx
# Start first full backup
echo "Start full backup"
echo "Select operating system [unix, macos, windows]: "
read os
if [ "$os" = "unix" ]; then
os="unix"
elif [ "$os" = "macos" ]; then
os="macos"
elif [ "$os" = "windows" ]; then
os="windows"
else
echo "ERROR: available only unix, macos, windows"
exit 2
fi
echo "Test backup"
venv/bin/bb backup --computer localhost --destination $repo --custom-data $data --type $os --verbose --log --retention 1 1
# Test if backup was created
backup=$repo/localhost
if [ -d $backup ]; then
echo "Backup was created $backup"
else
echo "Backup failed"
exit 3
fi
# Test export
echo "Test export"
exp_data="/tmp/bb_exp"
mkdir $exp_data
venv/bin/bb export --catalog $repo --all --destination $exp_data --verbose --log
# Test if restore was performed
if [ -f "$exp_data/.catalog.cfg" ]; then
echo "Export was performed"
else
echo "Export failed"
exit 3
fi
# Check catalog
echo "Check catalog: $ cat $repo/.catalog.cfg"
cat $repo/.catalog.cfg