letsencrypt.bats 3.4 KB

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