mirror of
https://github.com/serghey-rodin/vesta.git
synced 2024-11-21 04:50:09 -08:00
341 lines
9.5 KiB
Bash
Executable File
341 lines
9.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Define some variables
|
|
source /etc/profile.d/vesta.sh
|
|
V_BIN="$VESTA/bin"
|
|
V_TEST="$VESTA/test"
|
|
|
|
# Define functions
|
|
random() {
|
|
MATRIX='0123456789'
|
|
LENGTH=$1
|
|
while [ ${n:=1} -le $LENGTH ]; do
|
|
rand="$rand${MATRIX:$(($RANDOM%${#MATRIX})):1}"
|
|
let n+=1
|
|
done
|
|
echo "$rand"
|
|
}
|
|
|
|
echo_result() {
|
|
echo -en "$1"
|
|
echo -en '\033[60G'
|
|
echo -n '['
|
|
|
|
if [ "$2" -ne 0 ]; then
|
|
echo -n 'FAILED'
|
|
echo -n ']'
|
|
echo -ne '\r\n'
|
|
echo ">>> $4"
|
|
echo ">>> RETURN VALUE $2"
|
|
cat $3
|
|
else
|
|
echo -n ' OK '
|
|
echo -n ']'
|
|
fi
|
|
echo -ne '\r\n'
|
|
}
|
|
|
|
# Create random username
|
|
user="testu_$(random 4)"
|
|
while [ ! -z "$(grep "^$user:" /etc/passwd)" ]; do
|
|
user="tmp_$(random 4)"
|
|
done
|
|
|
|
# Create random tmpfile
|
|
tmpfile=$(mktemp -p /tmp )
|
|
|
|
|
|
#----------------------------------------------------------#
|
|
# User #
|
|
#----------------------------------------------------------#
|
|
# Add user
|
|
cmd="v_add_user $user $user $user@vestacp.com default Super Test"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "USER: Adding new user $user" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Change user password
|
|
cmd="v_change_user_password $user t3st_p4ssw0rd"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "USER: Changing password" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Change user contact
|
|
cmd="v_change_user_contact $user tester@vestacp.com"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "USER: Changing email" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Change system shell
|
|
cmd="v_change_user_shell $user bash"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "USER: Changing system shell to /bin/bash" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Change name servers
|
|
cmd="v_change_user_ns $user ns0.com ns1.com ns2.com ns3.com"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "USER: Changing nameservers" "$?" "$tmpfile" "$cmd"
|
|
|
|
|
|
#----------------------------------------------------------#
|
|
# Cron #
|
|
#----------------------------------------------------------#
|
|
|
|
# Add cron job
|
|
cmd="v_add_cron_job $user 1 1 1 1 1 echo"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "CRON: Adding cron job" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Suspend cron job
|
|
cmd="v_suspend_cron_job $user 1"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "CRON: Suspending cron job" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Unsuspend cron job
|
|
cmd="v_unsuspend_cron_job $user 1"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "CRON: Unsuspending cron job" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Delete cron job
|
|
cmd="v_delete_cron_job $user 1"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "CRON: Deleting cron job" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add cron job
|
|
cmd="v_add_cron_job $user 1 1 1 1 1 echo 1"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "CRON: Adding cron job" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add cron job
|
|
cmd="v_add_cron_job $user 1 1 1 1 1 echo 1"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
if [ "$?" -eq 4 ]; then
|
|
retval=0
|
|
else
|
|
retval=1
|
|
fi
|
|
echo_result "CRON: Duplicate cron job check" "$retval" "$tmpfile" "$cmd"
|
|
|
|
# Add second cron job
|
|
cmd="v_add_cron_job $user 2 2 2 2 2 echo 2"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "CRON: Adding second cron job" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Rebuild cron jobs
|
|
cmd="v_rebuild_cron_jobs $user"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "CRON: Rebuilding cron jobs" "$?" "$tmpfile" "$cmd"
|
|
|
|
|
|
#----------------------------------------------------------#
|
|
# IP #
|
|
#----------------------------------------------------------#
|
|
|
|
# List network interfaces
|
|
cmd="v_list_sys_interfaces plain"
|
|
interface=$($cmd 2> $tmpfile | head -n 1)
|
|
if [ -z "$interface" ]; then
|
|
echo_result "IP: Listing network interfaces" "1" "$tmpfile" "$cmd"
|
|
else
|
|
echo_result "IP: Listing network interfaces" "0" "$tmpfile" "$cmd"
|
|
fi
|
|
|
|
# Add ip address
|
|
cmd="v_add_sys_ip 198.18.0.123 255.255.255.255 $interface $user"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "IP: Adding ip 198.18.0.123" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add duplicate ip
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
if [ "$?" -eq 4 ]; then
|
|
retval=0
|
|
else
|
|
retval=1
|
|
fi
|
|
echo_result "IP: Duplicate ip address check" "$retval" "$tmpfile" "$cmd"
|
|
|
|
# Delete ip address
|
|
cmd="v_delete_sys_ip 198.18.0.123"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "IP: Deleting ip 198.18.0.123" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add ip address
|
|
cmd="v_add_sys_ip 198.18.0.125 255.255.255.255 $interface $user"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "IP: Adding ip 198.18.0.125" "$?" "$tmpfile" "$cmd"
|
|
|
|
|
|
#----------------------------------------------------------#
|
|
# WEB #
|
|
#----------------------------------------------------------#
|
|
|
|
# Add web domain
|
|
domain="test-$(random 4).vestacp.com"
|
|
cmd="v_add_web_domain $user $domain 198.18.0.125"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Adding domain $domain on 198.18.0.125" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add duplicate
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
if [ "$?" -eq 4 ]; then
|
|
retval=0
|
|
else
|
|
retval=1
|
|
fi
|
|
echo_result "WEB: Duplicate web domain check" "$retval" "$tmpfile" "$cmd"
|
|
|
|
# Add web domain alias
|
|
cmd="v_add_web_domain_alias $user $domain v3.$domain"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Adding alias v3.$domain" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Alias duplicate
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
if [ "$?" -eq 4 ]; then
|
|
retval=0
|
|
else
|
|
retval=1
|
|
fi
|
|
echo_result "WEB: Duplicate web alias check" "$retval" "$tmpfile" "$cmd"
|
|
|
|
# Add web domain elog
|
|
cmd="v_add_web_domain_elog $user $domain"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Enabling error logging support" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Disabling cgi
|
|
cmd="v_delete_web_domain_cgi $user $domain"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Disabling cgi support" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add web domain stats
|
|
cmd="v_add_web_domain_stats $user $domain webalizer"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Enabling webalizer" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add web domain stats
|
|
cmd="v_add_web_domain_stats_user $user $domain test m3g4p4ssw0rd"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Adding webalizer uzer" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add web domain nginx
|
|
cmd="v_add_web_domain_nginx $user $domain"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Enabling nginx support" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Suspend web domain
|
|
cmd="v_suspend_web_domain $user $domain"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Suspending web domain" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Unsuspend web domain
|
|
cmd="v_unsuspend_web_domain $user $domain"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Unsuspending web domain" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add web domain ssl
|
|
cp $V_TEST/ssl/crt /tmp/$domain.crt
|
|
cp $V_TEST/ssl/key /tmp/$domain.key
|
|
cmd="v_add_web_domain_ssl $user $domain /tmp"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: Adding ssl support" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Rebuild web domains
|
|
cmd="v_rebuild_web_domains $user"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "WEB: rebuilding web domains" "$?" "$tmpfile" "$cmd"
|
|
|
|
|
|
#----------------------------------------------------------#
|
|
# DNS #
|
|
#----------------------------------------------------------#
|
|
|
|
# Add dns domain
|
|
cmd="v_add_dns_domain $user $domain 198.18.0.125"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "DNS: Adding dns domain $domain" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add duplicate
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
if [ "$?" -eq 4 ]; then
|
|
retval=0
|
|
else
|
|
retval=1
|
|
fi
|
|
echo_result "DNS: Duplicate domain check" "$retval" "$tmpfile" "$cmd"
|
|
|
|
# Add dns domain record
|
|
cmd="v_add_dns_domain_record $user $domain test A 198.18.0.125 20"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "DNS: Adding dns domain record" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add duplicate
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
if [ "$?" -eq 4 ]; then
|
|
retval=0
|
|
else
|
|
retval=1
|
|
fi
|
|
echo_result "DNS: Duplicate record check" "$retval" "$tmpfile" "$cmd"
|
|
|
|
# Delete dns domain record
|
|
cmd="v_delete_dns_domain_record $user $domain 20"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "DNS: Deleteing dns domain record" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Change exp
|
|
cmd="v_change_dns_domain_exp $user $domain 2020-01-01"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "DNS: Changing expiriation date" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Change ip
|
|
cmd="v_change_dns_domain_ip $user $domain 127.0.0.1"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "DNS: Changing domain ip" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Suspend dns domain
|
|
cmd="v_suspend_dns_domain $user $domain"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "DNS: Suspending domain" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Unuspend dns domain
|
|
cmd="v_unsuspend_dns_domain $user $domain"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "DNS: Unsuspending domain" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Rebuild dns domain
|
|
cmd="v_rebuild_dns_domains $user"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "DNS: Rebuilding domain" "$?" "$tmpfile" "$cmd"
|
|
|
|
|
|
# Add mail domain
|
|
cmd="v_add_mail_domain $user $domain"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "Adding mail domain $domain" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add mysql database
|
|
database=d$(random 4)
|
|
cmd="v_add_database $user $database $database dbp4ssw0rd mysql"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "Adding mysql database $database" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Add pgsql database
|
|
database=d$(random 4)
|
|
cmd="v_add_database $user $database $database dbp4ssw0rd pgsql"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "Adding pgsql database $database" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Rebuild user configs
|
|
cmd="v_rebuild_user $user yes"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "Rebuilding user config" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Delete user
|
|
cmd="v_delete_user $user"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "Deleting user $user" "$?" "$tmpfile" "$cmd"
|
|
|
|
# Delete ip address
|
|
cmd="v_delete_sys_ip 198.18.0.125"
|
|
$cmd > $tmpfile 2>> $tmpfile
|
|
echo_result "Deleting ip 198.18.0.125" "$?" "$tmpfile" "$cmd"
|
|
|