@@ -47,7 +47,12 @@ function validate_web_domain() {
4747 domain_ip=$( get_real_ip " $domain_ip " )
4848
4949 if [ ! -z $webpath ]; then
50- assert_file_exist $HOMEDIR /$user /web/$domain /public_html/$webpath
50+ domain_docroot=$( get_object_value ' web' ' DOMAIN' " $domain " ' $CUSTOM_DOCROOT' )
51+ if [ -n " $domain_docroot " ] && [ -d " $domain_docroot " ]; then
52+ assert_file_exist " ${domain_docroot} /${webpath} "
53+ else
54+ assert_file_exist " ${HOMEDIR} /${user} /web/${domain} /public_html/${webpath} "
55+ fi
5156 fi
5257
5358 # Test HTTP
@@ -705,6 +710,89 @@ function validate_webmail_domain() {
705710}
706711
707712
713+ # ----------------------------------------------------------#
714+ # CUSTOM DOCROOT #
715+ # ----------------------------------------------------------#
716+
717+ @test " Docroot: Self Subfolder" {
718+ docroot1_domain=" docroot1.${domain} "
719+
720+ run v-add-web-domain $user $docroot1_domain 198.18.0.125
721+ assert_success
722+ refute_output
723+
724+ run v-add-fs-directory $user " $HOMEDIR /$user /web/$docroot1_domain /public_html/public/"
725+ assert_success
726+ refute_output
727+
728+ run v-change-web-domain-docroot $user " $docroot1_domain " " $docroot1_domain " " /public"
729+ assert_success
730+ refute_output
731+
732+ echo -e ' <?php\necho "self-sub-".$_SERVER["HTTP_HOST"];' > " $HOMEDIR /$user /web/$docroot1_domain /public_html/public/php-test.php"
733+ validate_web_domain $user $docroot1_domain " self-sub-${docroot1_domain} " ' php-test.php'
734+ rm " $HOMEDIR /$user /web/$docroot1_domain /public_html/public/php-test.php"
735+ }
736+
737+ @test " Docroot: Other domain subfolder" {
738+ docroot1_domain=" docroot1.${domain} "
739+ docroot2_domain=" docroot2.${domain} "
740+
741+ run v-add-web-domain $user $docroot2_domain 198.18.0.125
742+ assert_success
743+ refute_output
744+
745+ run v-add-fs-directory $user " $HOMEDIR /$user /web/$docroot2_domain /public_html/public/"
746+ assert_success
747+ refute_output
748+
749+ run v-change-web-domain-docroot $user " $docroot1_domain " " $docroot2_domain " " /public"
750+ assert_success
751+ refute_output
752+
753+ echo -e ' <?php\necho "doc2-sub-".$_SERVER["HTTP_HOST"];' > " $HOMEDIR /$user /web/$docroot2_domain /public_html/public/php-test.php"
754+ validate_web_domain $user $docroot1_domain " doc2-sub-${docroot1_domain} " ' php-test.php'
755+ rm " $HOMEDIR /$user /web/$docroot2_domain /public_html/public/php-test.php"
756+ }
757+
758+ @test " Docroot: Other domain root folder" {
759+ docroot1_domain=" docroot1.${domain} "
760+ docroot2_domain=" docroot2.${domain} "
761+
762+ run v-change-web-domain-docroot $user " $docroot1_domain " " $docroot2_domain "
763+ assert_success
764+ refute_output
765+
766+ echo -e ' <?php\necho "doc2-root-".$_SERVER["HTTP_HOST"];' > " $HOMEDIR /$user /web/$docroot2_domain /public_html/php-test.php"
767+ validate_web_domain $user $docroot1_domain " doc2-root-${docroot1_domain} " ' php-test.php'
768+ rm " $HOMEDIR /$user /web/$docroot2_domain /public_html/php-test.php"
769+ }
770+
771+ @test " Docroot: Reset" {
772+ docroot1_domain=" docroot1.${domain} "
773+
774+ run v-change-web-domain-docroot $user " $docroot1_domain " " default"
775+ assert_success
776+ refute_output
777+
778+ echo -e ' <?php\necho "doc1-root-".$_SERVER["HTTP_HOST"];' > " $HOMEDIR /$user /web/$docroot1_domain /public_html/php-test.php"
779+ validate_web_domain $user $docroot1_domain " doc1-root-${docroot1_domain} " ' php-test.php'
780+ rm " $HOMEDIR /$user /web/$docroot1_domain /public_html/php-test.php"
781+ }
782+
783+ @test " Docroot: Cleanup" {
784+ docroot1_domain=" docroot1.${domain} "
785+ docroot2_domain=" docroot2.${domain} "
786+
787+ run v-delete-web-domain $user $docroot1_domain
788+ assert_success
789+ refute_output
790+
791+ run v-delete-web-domain $user $docroot2_domain
792+ assert_success
793+ refute_output
794+ }
795+
708796# ----------------------------------------------------------#
709797# DNS #
710798# ----------------------------------------------------------#
0 commit comments