def test_VsftpdConfigParser_only_comments(): parser = VsftpdConfigParser('# foo\n\n#bar\n') assert isinstance(parser.parsed_config, dict) assert len(parser.parsed_config) == 0 parser = VsftpdConfigParser('#anonymous_enable=yes\n') assert isinstance(parser.parsed_config, dict) assert len(parser.parsed_config) == 0
def test_VsftpdConfigParser_invalid_syntax(): with pytest.raises(ParsingError): VsftpdConfigParser('unknown_option=foo') with pytest.raises(ParsingError): VsftpdConfigParser('anonymous_enable=non-boolean') with pytest.raises(ParsingError): VsftpdConfigParser(' # comment with whitespace before the # character') with pytest.raises(ParsingError): VsftpdConfigParser('anonymous_enable')
def test_VsftpdConfigParser_multiple_options(): content = '# foo\n\nanonymous_enable=no\nbanned_email_file=/foo/bar\n# bar\nmax_login_fails=3\n' parser = VsftpdConfigParser(content) assert len(parser.parsed_config) == 3 assert parser.parsed_config['anonymous_enable'] is False assert parser.parsed_config['banned_email_file'] == '/foo/bar' assert parser.parsed_config['max_login_fails'] == 3
def test_VsftpdConfigParser_one_option(): parser = VsftpdConfigParser('anonymous_enable=yes\n') assert len(parser.parsed_config) == 1 assert parser.parsed_config['anonymous_enable'] is True
def test_VsftpdConfigParser_empty_config(): parser = VsftpdConfigParser('') assert isinstance(parser.parsed_config, dict) assert len(parser.parsed_config) == 0