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_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_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_empty_packages(): """ Test with empty package list """ w = TcpWrappersFacts(daemon_lists=[DaemonList(value=["ALL"])]) p = [] d = [("openssh", ["sshd"])] packages = config_affects_daemons(w, p, d) assert not packages
def test_matching_package(): """ Test with matching package, but not daemon """ w = TcpWrappersFacts(daemon_lists=[DaemonList(value=["imap"])]) p = ["openssh", "systemd", "pam"] d = [("openssh", ["sshd"])] packages = config_affects_daemons(w, p, d) assert not packages
def test_actor_with_tcp_wrappers(current_actor_context): tcpwrap_facts = TcpWrappersFacts( daemon_lists=[DaemonList(value=['sendmail'])]) current_actor_context.feed( create_modulesfacts(installed_rpm=with_sendmail)) current_actor_context.feed(tcpwrap_facts) current_actor_context.run() assert 'inhibitor' in current_actor_context.consume(Report)[0].flags
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_matching_daemon(): """ Test with matching package with daemon """ w = TcpWrappersFacts(daemon_lists=[DaemonList(value=["sshd"])]) p = ["openssh", "systemd", "pam"] d = [("openssh", ["sshd"])] packages = config_affects_daemons(w, p, d) assert len(packages) == 1 assert "openssh" in packages
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
def test_actor_with_supported_tcpwrap_and_vsftpd_config(current_actor_context): config1 = VsftpdConfig(path='/etc/vsftpd/foo.conf', tcp_wrappers=False) config2 = VsftpdConfig(path='/etc/vsftpd/bar.conf', tcp_wrappers=False) vsftpd_facts = VsftpdFacts(configs=[config1, config2]) daemon_list = DaemonList(value=['all', 'except', 'vsftpd']) tcpwrap_facts = TcpWrappersFacts(daemon_lists=[daemon_list]) current_actor_context.feed(vsftpd_facts) current_actor_context.feed(tcpwrap_facts) current_actor_context.run() assert not current_actor_context.consume(Report)
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_actor_with_unsupported_tcpwrap_and_vsftpd_config(current_actor_context): config1 = VsftpdConfig(path='/etc/vsftpd/foo.conf', tcp_wrappers=False) config2 = VsftpdConfig(path='/etc/vsftpd/bar.conf', tcp_wrappers=True) vsftpd_facts = VsftpdFacts(configs=[config1, config2]) daemon_list = DaemonList(value=['vsftpd']) tcpwrap_facts = TcpWrappersFacts(daemon_lists=[daemon_list]) current_actor_context.feed(vsftpd_facts) current_actor_context.feed(tcpwrap_facts) current_actor_context.run() report = current_actor_context.consume(Report)[0] assert 'inhibitor' in report.flags assert 'foo.conf' not in report.detail['summary'] assert 'bar.conf' in report.detail['summary']
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_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 _get_daemon_list_in_line(line): daemon_list = line.split(':', 1)[0] daemon_list = re.split(',| |\t', daemon_list) daemon_list = [word for word in daemon_list if len(word) > 0] return DaemonList(value=daemon_list)
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