letsencrypt.bats 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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. source /tmp/hestia-le-env.sh
  13. source $HESTIA/func/main.sh
  14. source $HESTIA/conf/hestia.conf
  15. source $HESTIA/func/ip.sh
  16. }
  17. @test "[ User ] Create new user" {
  18. run v-add-user $user $user $user@hestiacp.com default "Super Test"
  19. assert_success
  20. refute_output
  21. }
  22. @test "[ DNS ]Create DNS domain" {
  23. run v-add-dns-domain $user $domain $ip
  24. assert_success
  25. refute_output
  26. }
  27. @test "[ Web ] Create web domain" {
  28. run v-add-web-domain $user $domain $ip yes "www.$domain,renewal.$domain,foobar.$domain,bar.$domain"
  29. assert_success
  30. refute_output
  31. }
  32. @test "[ Web ] Create 2nd web domain" {
  33. run v-add-web-domain $user "hestia.$domain" $ip yes
  34. assert_success
  35. refute_output
  36. }
  37. @test "[ Web ] Request new certificate for web domain" {
  38. run v-add-letsencrypt-domain $user $domain "www.$domain,renewal.$domain,foobar.$domain,bar.$domain"
  39. assert_success
  40. refute_output
  41. }
  42. @test "[ Web ] Request 2nd new certificate for web domain" {
  43. run v-add-letsencrypt-domain $user "hestia.$domain"
  44. assert_success
  45. refute_output
  46. }
  47. @test "[ Mail ] Create mail domain" {
  48. run v-add-mail-domain $user $domain
  49. assert_success
  50. refute_output
  51. }
  52. @test "[ Mail ] Request new Certificate for Mail Domain" {
  53. run v-add-letsencrypt-domain $user $domain "" "yes"
  54. assert_success
  55. refute_output
  56. }
  57. @test "[ All ] Run renewal script for LE" {
  58. run v-update-letsencrypt-ssl
  59. assert_success
  60. refute_output
  61. }
  62. @test "[ All ] Remove alias and update ssl" {
  63. run v-delete-web-domain-alias $user $domain bar.$domain
  64. assert_success
  65. refute_output
  66. run v-update-letsencrypt-ssl
  67. assert_success
  68. refute_output
  69. }
  70. @test [ Web ] Delete web ssl" {
  71. run v-delete-letsencrypt-domain $user $domain "yes"
  72. assert_success
  73. refute_output
  74. }
  75. @test [ Mail ] Delete mail ssl" {
  76. run v-delete-letsencrypt-domain $user $domain "yes" "yes"
  77. assert_success
  78. refute_output
  79. }
  80. @test "[ Web ] Delete web domain" {
  81. run v-delete-web-domain $user $domain "yes"
  82. assert_success
  83. refute_output
  84. }
  85. @test "[ Redirect ] Create web domain" {
  86. run v-add-web-domain $user "redirect.$domain" $ip yes
  87. assert_success
  88. refute_output
  89. }
  90. @test "[ Redirect ] Add Domain redirect to other website" {
  91. run v-add-web-domain-redirect $user "redirect.$domain" "https://hestiacp.com" 301 "yes"
  92. assert_success
  93. refute_output
  94. }
  95. @test "[ Redirect ] Request new certificate for web {
  96. run v-add-letsencrypt-domain $user "redirect.$domain" ""
  97. assert_success
  98. refute_output
  99. }
  100. @test "[ Redirect ] Run renewal script for LE Redirected domain" {
  101. run v-update-letsencrypt-ssl
  102. assert_success
  103. refute_output
  104. }
  105. @test "Delete user" {
  106. run v-delete-user $user
  107. assert_success
  108. refute_output
  109. }