config-tests.bats 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/usr/bin/env bats
  2. if [ "${PATH#*/usr/local/hestia/bin*}" = "$PATH" ]; then
  3. . /etc/profile.d/hestia.sh
  4. fi
  5. load 'test_helper/bats-support/load'
  6. load 'test_helper/bats-assert/load'
  7. load 'test_helper/bats-file/load'
  8. function random() {
  9. head /dev/urandom | tr -dc 0-9 | head -c$1
  10. }
  11. function setup() {
  12. # echo "# Setup_file" > &3
  13. if [ $BATS_TEST_NUMBER = 1 ]; then
  14. echo 'user=test-5285' > /tmp/hestia-test-env.sh
  15. echo 'user2=test-5286' >> /tmp/hestia-test-env.sh
  16. echo 'userbk=testbk-5285' >> /tmp/hestia-test-env.sh
  17. echo 'userpass1=test-5285' >> /tmp/hestia-test-env.sh
  18. echo 'userpass2=t3st-p4ssw0rd' >> /tmp/hestia-test-env.sh
  19. echo 'HESTIA=/usr/local/hestia' >> /tmp/hestia-test-env.sh
  20. echo 'domain=test-5285.hestiacp.com' >> /tmp/hestia-test-env.sh
  21. echo 'domainuk=test-5285.hestiacp.com.uk' >> /tmp/hestia-test-env.sh
  22. echo 'rootdomain=testhestiacp.com' >> /tmp/hestia-test-env.sh
  23. echo 'subdomain=cdn.testhestiacp.com' >> /tmp/hestia-test-env.sh
  24. echo 'database=test-5285_database' >> /tmp/hestia-test-env.sh
  25. echo 'dbuser=test-5285_dbuser' >> /tmp/hestia-test-env.sh
  26. fi
  27. source /tmp/hestia-test-env.sh
  28. source $HESTIA/func/main.sh
  29. source $HESTIA/conf/hestia.conf
  30. source $HESTIA/func/ip.sh
  31. }
  32. @test "Setup Test domain" {
  33. run v-add-user $user $user $user@hestiacp.com default "Super Test"
  34. assert_success
  35. refute_output
  36. run v-add-web-domain $user 'testhestiacp.com'
  37. assert_success
  38. refute_output
  39. ssl=$(v-generate-ssl-cert "testhestiacp.com" "info@testhestiacp.com" US CA "Orange County" HestiaCP IT "mail.$domain" | tail -n1 | awk '{print $2}')
  40. mv $ssl/testhestiacp.com.crt /tmp/testhestiacp.com.crt
  41. mv $ssl/testhestiacp.com.key /tmp/testhestiacp.com.key
  42. # Use self signed certificates during last test
  43. run v-add-web-domain-ssl $user testhestiacp.com /tmp
  44. assert_success
  45. refute_output
  46. }
  47. @test "Web Config test" {
  48. for template in $(v-list-web-templates plain); do
  49. run v-change-web-domain-tpl $user testhestiacp.com $template
  50. assert_success
  51. refute_output
  52. done
  53. }
  54. @test "Proxy Config test" {
  55. if [ "$PROXY_SYSTEM" = "nginx" ]; then
  56. for template in $(v-list-proxy-templates plain); do
  57. run v-change-web-domain-proxy-tpl $user testhestiacp.com $template
  58. assert_success
  59. refute_output
  60. done
  61. else
  62. skip "Proxy not installed"
  63. fi
  64. }
  65. @test "Clean up" {
  66. run v-delete-user $user
  67. assert_success
  68. refute_output
  69. }