From 8b841bc9e370370716b473f26e001c65e2eee2af Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Wed, 29 Feb 2012 13:20:53 +1300 Subject: Factor out cert operations in to certutils.py. --- test/test_certutils.py | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 test/test_certutils.py (limited to 'test/test_certutils.py') diff --git a/test/test_certutils.py b/test/test_certutils.py new file mode 100644 index 00000000..15e81f74 --- /dev/null +++ b/test/test_certutils.py @@ -0,0 +1,69 @@ +import os +import libpry +from libmproxy import certutils + + +class udummy_ca(libpry.AutoTree): + def test_all(self): + d = self.tmpdir() + path = os.path.join(d, "foo/cert.cnf") + assert certutils.dummy_ca(path) + assert os.path.exists(path) + + path = os.path.join(d, "foo/cert2.pem") + assert certutils.dummy_ca(path) + assert os.path.exists(path) + assert os.path.exists(os.path.join(d, "foo/cert2-cert.pem")) + assert os.path.exists(os.path.join(d, "foo/cert2-cert.p12")) + + +class udummy_cert(libpry.AutoTree): + def test_with_ca(self): + d = self.tmpdir() + cacert = os.path.join(d, "foo/cert.cnf") + assert certutils.dummy_ca(cacert) + p = certutils.dummy_cert( + os.path.join(d, "foo"), + cacert, + "foo.com", + ["one.com", "two.com", "*.three.com"] + ) + assert os.path.exists(p) + + # Short-circuit + assert certutils.dummy_cert( + os.path.join(d, "foo"), + cacert, + "foo.com", + [] + ) + + def test_no_ca(self): + d = self.tmpdir() + p = certutils.dummy_cert( + d, + None, + "foo.com", + [] + ) + assert os.path.exists(p) + + +class uparse_text_cert(libpry.AutoTree): + def test_simple(self): + c = file("data/text_cert", "r").read() + cn, san = certutils.parse_text_cert(c) + assert cn == "google.com" + assert len(san) == 436 + + c = file("data/text_cert_2", "r").read() + cn, san = certutils.parse_text_cert(c) + assert cn == "www.inode.co.nz" + assert len(san) == 2 + + +tests = [ + uparse_text_cert(), + udummy_ca(), + udummy_cert(), +] -- cgit v1.2.3