@@ -237,6 +237,24 @@ function validate_database(){
237237 fi
238238}
239239
240+ function check_ip_banned(){
241+ local ip=$1
242+ local chain=$2
243+
244+ run grep " IP='$ip ' CHAIN='$chain '" $HESTIA /data/firewall/banlist.conf
245+ assert_success
246+ assert_output --partial " $ip "
247+ }
248+
249+ function check_ip_not_banned(){
250+ local ip=$1
251+ local chain=$2
252+ run grep " IP='$ip ' CHAIN='$chain '" $HESTIA /data/firewall/banlist.conf
253+ assert_failure E_ARGS
254+ refute_output
255+ }
256+
257+
240258# ----------------------------------------------------------#
241259# IP #
242260# ----------------------------------------------------------#
@@ -1397,6 +1415,50 @@ function validate_database(){
13971415 refute_output
13981416}
13991417
1418+ # ----------------------------------------------------------#
1419+ # Firewall #
1420+ # ----------------------------------------------------------#
1421+
1422+ @test " Firewall: Add ip to banlist" {
1423+ run v-add-firewall-ban ' 1.2.3.4' ' HESTIA'
1424+ assert_success
1425+ refute_output
1426+
1427+ check_ip_banned ' 1.2.3.4' ' HESTIA'
1428+ }
1429+
1430+ @test " Firewall: Delete ip to banlist" {
1431+ run v-delete-firewall-ban ' 1.2.3.4' ' HESTIA'
1432+ assert_success
1433+ refute_output
1434+ check_ip_not_banned ' 1.2.3.4' ' HESTIA'
1435+ }
1436+
1437+ @test " Firewall: Add ip to banlist for ALL" {
1438+ run v-add-firewall-ban ' 1.2.3.4' ' HESTIA'
1439+ assert_success
1440+ refute_output
1441+ run v-add-firewall-ban ' 1.2.3.4' ' MAIL'
1442+ assert_success
1443+ refute_output
1444+ check_ip_banned ' 1.2.3.4' ' HESTIA'
1445+ }
1446+
1447+ @test " Firewall: Delete ip to banlist CHAIN = ALL" {
1448+ run v-delete-firewall-ban ' 1.2.3.4' ' ALL'
1449+ assert_success
1450+ refute_output
1451+ check_ip_not_banned ' 1.2.3.4' ' HESTIA'
1452+ }
1453+
1454+ @test " Test Whitelist Fail2ban" {
1455+
1456+ echo " 1.2.3.4" >> $HESTIA /data/firewall/excludes.conf
1457+ run v-add-firewall-ban ' 1.2.3.4' ' HESTIA'
1458+ rm $HESTIA /data/firewall/excludes.conf
1459+ check_ip_not_banned ' 1.2.3.4' ' HESTIA'
1460+ }
1461+
14001462# ----------------------------------------------------------#
14011463# CLEANUP #
14021464# ----------------------------------------------------------#
0 commit comments