forked from hestiacp/hestiacp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig-tests.bats
More file actions
81 lines (69 loc) · 2.53 KB
/
config-tests.bats
File metadata and controls
81 lines (69 loc) · 2.53 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
80
81
#!/usr/bin/env bats
if [ "${PATH#*/usr/local/hestia/bin*}" = "$PATH" ]; then
. /etc/profile.d/hestia.sh
fi
load 'test_helper/bats-support/load'
load 'test_helper/bats-assert/load'
load 'test_helper/bats-file/load'
function random() {
head /dev/urandom | tr -dc 0-9 | head -c$1
}
function setup() {
# echo "# Setup_file" > &3
if [ $BATS_TEST_NUMBER = 1 ]; then
echo 'user=test-5285' > /tmp/hestia-test-env.sh
echo 'user2=test-5286' >> /tmp/hestia-test-env.sh
echo 'userbk=testbk-5285' >> /tmp/hestia-test-env.sh
echo 'userpass1=test-5285' >> /tmp/hestia-test-env.sh
echo 'userpass2=t3st-p4ssw0rd' >> /tmp/hestia-test-env.sh
echo 'HESTIA=/usr/local/hestia' >> /tmp/hestia-test-env.sh
echo 'domain=test-5285.hestiacp.com' >> /tmp/hestia-test-env.sh
echo 'domainuk=test-5285.hestiacp.com.uk' >> /tmp/hestia-test-env.sh
echo 'rootdomain=testhestiacp.com' >> /tmp/hestia-test-env.sh
echo 'subdomain=cdn.testhestiacp.com' >> /tmp/hestia-test-env.sh
echo 'database=test-5285_database' >> /tmp/hestia-test-env.sh
echo 'dbuser=test-5285_dbuser' >> /tmp/hestia-test-env.sh
fi
source /tmp/hestia-test-env.sh
source $HESTIA/func/main.sh
source $HESTIA/conf/hestia.conf
source $HESTIA/func/ip.sh
}
@test "Setup Test domain" {
run v-add-user $user $user $user@hestiacp.com default "Super Test"
assert_success
refute_output
run v-add-web-domain $user 'testhestiacp.com'
assert_success
refute_output
ssl=$(v-generate-ssl-cert "testhestiacp.com" "info@testhestiacp.com" US CA "Orange County" HestiaCP IT "mail.$domain" | tail -n1 | awk '{print $2}')
mv $ssl/testhestiacp.com.crt /tmp/testhestiacp.com.crt
mv $ssl/testhestiacp.com.key /tmp/testhestiacp.com.key
# Use self signed certificates during last test
run v-add-web-domain-ssl $user testhestiacp.com /tmp
assert_success
refute_output
}
@test "Web Config test" {
for template in $(v-list-web-templates plain); do
run v-change-web-domain-tpl $user testhestiacp.com $template
assert_success
refute_output
done
}
@test "Proxy Config test" {
if [ "$PROXY_SYSTEM" = "nginx" ]; then
for template in $(v-list-proxy-templates plain); do
run v-change-web-domain-proxy-tpl $user testhestiacp.com $template
assert_success
refute_output
done
else
skip "Proxy not installed"
fi
}
@test "Clean up" {
run v-delete-user $user
assert_success
refute_output
}