You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

177 lines
7.5 KiB

9 months ago
import leapp.libraries.common.tcpwrappersutils as lib
from leapp.models import DaemonList, TcpWrappersFacts
def test_config_applies_to_daemon_simple():
daemon_list = DaemonList(value=['vsftpd'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
assert lib.config_applies_to_daemon(facts, 'VsfTpd') is True
assert lib.config_applies_to_daemon(facts, 'ftp') is False
assert lib.config_applies_to_daemon(facts, 'foo') is False
def test_config_applies_to_daemon_multiple_lists():
list1 = DaemonList(value=['vsftpd', 'sendmail'])
list2 = DaemonList(value=['postfix'])
facts = TcpWrappersFacts(daemon_lists=[list1, list2])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
assert lib.config_applies_to_daemon(facts, 'sendmail') is True
assert lib.config_applies_to_daemon(facts, 'postfix') is True
assert lib.config_applies_to_daemon(facts, 'foo') is False
def test_config_applies_to_daemon_except():
list1 = DaemonList(value=['all', 'except', 'sendmail'])
list2 = DaemonList(value=['postfix'])
facts = TcpWrappersFacts(daemon_lists=[list1, list2])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
assert lib.config_applies_to_daemon(facts, 'sendmail') is False
assert lib.config_applies_to_daemon(facts, 'postfix') is True
assert lib.config_applies_to_daemon(facts, 'foo') is True
list1 = DaemonList(value=['all', 'except', 'b*', 'EXCEPT', 'bar'])
facts = TcpWrappersFacts(daemon_lists=[list1])
assert lib.config_applies_to_daemon(facts, 'foo') is True
assert lib.config_applies_to_daemon(facts, 'bar') is True
assert lib.config_applies_to_daemon(facts, 'baar') is False
list1 = DaemonList(value=['all', 'except', 'vsftpd'])
facts = TcpWrappersFacts(daemon_lists=[list1])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
list1 = DaemonList(value=['all', 'except', 'all', 'except', 'vsftpd'])
facts = TcpWrappersFacts(daemon_lists=[list1])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
list1 = DaemonList(value=['all', 'except', 'all', 'except', 'all', 'except', 'vsftpd'])
facts = TcpWrappersFacts(daemon_lists=[list1])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
def test_config_applies_to_daemon_except_empty():
daemon_list = DaemonList(value=['all', 'except'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
def test_config_applies_to_daemon_with_host():
list1 = DaemonList(value=['vsftpd@localhost', 'sendmail'])
list2 = DaemonList(value=['postfix'])
facts = TcpWrappersFacts(daemon_lists=[list1, list2])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
assert lib.config_applies_to_daemon(facts, 'sendmail') is True
assert lib.config_applies_to_daemon(facts, 'postfix') is True
assert lib.config_applies_to_daemon(facts, 'foo') is False
def test_config_applies_to_daemon_with_host_except():
daemon_list = DaemonList(value=['vsftpd@localhost', 'except', 'vsftpd'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
# It works like this for simplicity.
daemon_list = DaemonList(value=['vsftpd@localhost', 'except', 'vsftpd@localhost'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['vsftpd@localhost'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['all', 'except', 'vsftpd@localhost'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['all', 'except', 'all', 'except', 'vsftpd@localhost'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['all', 'except', 'all', 'except', 'all',
'except', 'vsftpd@localhost'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['all', 'except', 'all', 'except', 'all', 'except', 'all',
'except', 'vsftpd@localhost'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
def test_config_applies_to_daemon_empty():
daemon_list = DaemonList(value=[''])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
daemon_list = DaemonList(value=[])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
def test_config_applies_to_daemon_whole_word():
daemon_list = DaemonList(value=['ftp'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
def test_config_applies_to_daemon_asterisk_wildcard():
daemon_list = DaemonList(value=['*ftp*'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['************'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['*'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['*foo*'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
def test_config_applies_to_daemon_question_mark_wildcard():
daemon_list = DaemonList(value=['vs?tpd'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['vsf?tpd'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
daemon_list = DaemonList(value=['?'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
daemon_list = DaemonList(value=['??????'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
def test_config_applies_to_daemon_all_wildcard():
daemon_list = DaemonList(value=['all'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['aLl'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is True
daemon_list = DaemonList(value=['al'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
daemon_list = DaemonList(value=['ll'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False
daemon_list = DaemonList(value=['valld'])
facts = TcpWrappersFacts(daemon_lists=[daemon_list])
assert lib.config_applies_to_daemon(facts, 'vsftpd') is False