#!/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 "Prepare for tests" { run rm -f /usr/local/hestia/data/templates/web/nginx/php-fpm/*.* run rm -f /usr/local/hestia/data/templates/web/nginx/*.* run rm -f /usr/local/hestia/data/templates/web/apache2/php-fpm/*.* run rm -f /usr/local/hestia/data/templates/web/apache2/*.* run v-update-web-templates } @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 }