diff options
author | Rob Austein <sra@hactrn.net> | 2008-05-16 22:11:00 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2008-05-16 22:11:00 +0000 |
commit | 96d78b71fa5457c557bfa1373e02bc4655577fcd (patch) | |
tree | 9fc01360b96b0541e8477c57837e486c49ff5b76 /rpkid/xml-parse-test.py | |
parent | 0031405bc5b28b3e6c9dd3ada8477ae04be89c07 (diff) |
Rework to be quieter when quiet and more informative when verbose.
svn path=/rpkid/left-right-protocol-samples/pdu.053.xml; revision=1790
Diffstat (limited to 'rpkid/xml-parse-test.py')
-rwxr-xr-x | rpkid/xml-parse-test.py | 52 |
1 files changed, 35 insertions, 17 deletions
diff --git a/rpkid/xml-parse-test.py b/rpkid/xml-parse-test.py index 3e3b20ef..15e787da 100755 --- a/rpkid/xml-parse-test.py +++ b/rpkid/xml-parse-test.py @@ -17,43 +17,61 @@ import glob, xml.sax, lxml.etree, lxml.sax, POW, POW.pkix import rpki.up_down, rpki.left_right, rpki.relaxng -verbose = True +verbose = False def test(fileglob, rng, sax_handler, encoding, tester = None): files = glob.glob(fileglob) files.sort() for f in files: - print "\n<!--", f, "-->" + print "<!--", f, "-->" handler = sax_handler() elt_in = lxml.etree.parse(f).getroot() + if verbose: + print "<!-- Input -->" + print lxml.etree.tostring(elt_in, pretty_print = True, encoding = encoding, xml_declaration = True) rng.assertValid(elt_in) lxml.sax.saxify(elt_in, handler) elt_out = handler.result.toXML() + if verbose: + print "<!-- Output -->" + print lxml.etree.tostring(elt_out, pretty_print = True, encoding = encoding, xml_declaration = True) rng.assertValid(elt_out) if (tester): tester(elt_in, elt_out, handler.result) - print lxml.etree.tostring(elt_out, pretty_print = True, encoding = encoding, xml_declaration = True) + if verbose: + print -def pprint_cert(cert): - print cert.get_POW().pprint() +def pprint(pairs): + if verbose: + for thing, name in pairs: + if thing is not None: + print "[%s]" % name + print thing.get_POW().pprint() def ud_tester(elt_in, elt_out, msg): assert isinstance(msg, rpki.up_down.message_pdu) - if verbose: - if isinstance(msg.payload, rpki.up_down.list_response_pdu): - for c in msg.payload.classes: - for i in range(len(c.certs)): - print "[Certificate #%d]" % i - pprint_cert(c.certs[i].cert) - print "[Issuer]" - pprint_cert(c.issuer) + if isinstance(msg.payload, rpki.up_down.list_response_pdu): + for c in msg.payload.classes: + pprint([(c.certs[i].cert, ("%s certificate #%d" % (c.class_name, i))) for i in xrange(len(c.certs))] + [(c.issuer, ("%s issuer" % c.class_name))]) def lr_tester(elt_in, elt_out, msg): assert isinstance(msg, rpki.left_right.msg) - if verbose: - for bsc in [x for x in msg if isinstance(x, rpki.left_right.bsc_elt)]: - if bsc.signing_cert is not None: - pprint_cert(bsc.signing_cert) + for obj in msg: + if isinstance(obj, rpki.left_right.self_elt): + pprint(((obj.bpki_cert, "BPKI cert"), + (obj.bpki_glue, "BPKI glue"))) + if isinstance(obj, rpki.left_right.bsc_elt): + pprint(((obj.signing_cert, "Signing certificate"), + (obj.signing_cert_crl, "Signing certificate CRL"))) + # (obj.pkcs10_request, "PKCS #10 request") + if isinstance(obj, (rpki.left_right.parent_elt, rpki.left_right.repository_elt)): + pprint(((obj.bpki_cms_cert, "CMS certificate"), + (obj.bpki_cms_glue, "CMS glue"), + (obj.bpki_https_cert, "HTTPS certificate"), + (obj.bpki_https_glue, "HTTPS glue"))) + if isinstance(obj, rpki.left_right.child_elt): + pprint(((obj.bpki_cert, "Certificate"), + (obj.bpki_glue, "Glue"))) test(fileglob = "up-down-protocol-samples/*.xml", rng = rpki.relaxng.up_down, |