def test_end_to_end_statement_generation(self): s = syslog_ng.Statement("source", "s_tls") o = syslog_ng.Option("tcp") ip = syslog_ng.TypedParameter("ip") ip.add_value(syslog_ng.SimpleParameterValue("'192.168.42.2'")) o.add_parameter(ip) port = syslog_ng.TypedParameter("port") port.add_value(syslog_ng.SimpleParameterValue(514)) o.add_parameter(port) tls = syslog_ng.TypedParameter("tls") key_file = syslog_ng.TypedParameterValue("key_file") key_file.add_argument( syslog_ng.Argument( '"/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key"')) cert_file = syslog_ng.TypedParameterValue("cert_file") cert_file.add_argument( syslog_ng.Argument( '"/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert"')) peer_verify = syslog_ng.TypedParameterValue("peer_verify") peer_verify.add_argument(syslog_ng.Argument("optional-untrusted")) tls.add_value(key_file) tls.add_value(cert_file) tls.add_value(peer_verify) o.add_parameter(tls) s.add_child(o) b = s.build() self.assertEqual( dedent("""\ source s_tls { tcp( ip( '192.168.42.2' ), port( 514 ), tls( key_file( "/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key" ), cert_file( "/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert" ), peer_verify( optional-untrusted ) ) ); }; """), b, )
def test_end_to_end_statement_generation(self): s = syslog_ng.Statement('source', 's_tls') o = syslog_ng.Option('tcp') ip = syslog_ng.TypedParameter('ip') ip.add_value(syslog_ng.SimpleParameterValue("'192.168.42.2'")) o.add_parameter(ip) port = syslog_ng.TypedParameter('port') port.add_value(syslog_ng.SimpleParameterValue(514)) o.add_parameter(port) tls = syslog_ng.TypedParameter('tls') key_file = syslog_ng.TypedParameterValue('key_file') key_file.add_argument( syslog_ng.Argument( '"/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key"')) cert_file = syslog_ng.TypedParameterValue('cert_file') cert_file.add_argument( syslog_ng.Argument( '"/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert"')) peer_verify = syslog_ng.TypedParameterValue('peer_verify') peer_verify.add_argument(syslog_ng.Argument('optional-untrusted')) tls.add_value(key_file) tls.add_value(cert_file) tls.add_value(peer_verify) o.add_parameter(tls) s.add_child(o) b = s.build() self.assertEqual( dedent('''\ source s_tls { tcp( ip( '192.168.42.2' ), port( 514 ), tls( key_file( "/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key" ), cert_file( "/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert" ), peer_verify( optional-untrusted ) ) ); }; '''), b)
def test_option_with_parameters(self): o1 = syslog_ng.Option("file") p1 = syslog_ng.SimpleParameter('"/var/log/messages"') p2 = syslog_ng.SimpleParameter() p3 = syslog_ng.TypedParameter() p3.type = "tls" p2.value = '"/var/log/syslog"' o1.add_parameter(p1) o1.add_parameter(p2) o1.add_parameter(p3) b = o1.build() self.assertEqual( dedent("""\ file( "/var/log/messages", "/var/log/syslog", tls( ) ); """), b)
def test_parameter_with_values(self): p = syslog_ng.TypedParameter() p.type = "tls" v1 = syslog_ng.TypedParameterValue() v1.type = 'key_file' v2 = syslog_ng.TypedParameterValue() v2.type = 'cert_file' p.add_value(v1) p.add_value(v2) b = p.build() self.assertEqual( dedent("""\ tls( key_file( ), cert_file( ) )"""), b)