aboutsummaryrefslogtreecommitdiffstats
path: root/test/netlib/test_certutils.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2016-10-05 11:32:05 +1100
committerGitHub <noreply@github.com>2016-10-05 11:32:05 +1100
commit8e7ec6117afe528f521fb8d691f27b87141d878b (patch)
treee99ca35a61cd95ddf78c51cc675ef1d5cebed7e0 /test/netlib/test_certutils.py
parentff388f2e6298c880d26a5a5e3e41a6bb6bffb167 (diff)
parent89d36713e360ff5797f67e9b89d14db81da3bc25 (diff)
downloadmitmproxy-8e7ec6117afe528f521fb8d691f27b87141d878b.tar.gz
mitmproxy-8e7ec6117afe528f521fb8d691f27b87141d878b.tar.bz2
mitmproxy-8e7ec6117afe528f521fb8d691f27b87141d878b.zip
Merge pull request #1601 from cortesi/certcap
certutils: cap the cert store size at 100 by default
Diffstat (limited to 'test/netlib/test_certutils.py')
-rw-r--r--test/netlib/test_certutils.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/netlib/test_certutils.py b/test/netlib/test_certutils.py
index 027dcc93..cf9a671b 100644
--- a/test/netlib/test_certutils.py
+++ b/test/netlib/test_certutils.py
@@ -74,6 +74,31 @@ class TestCertStore:
cert, key, chain_file = ca.get_cert(b"foo.bar.com", [b"*.baz.com"])
assert b"*.baz.com" in cert.altnames
+ def test_expire(self):
+ with tutils.tmpdir() as d:
+ ca = certutils.CertStore.from_store(d, "test")
+ ca.STORE_CAP = 3
+ ca.get_cert(b"one.com", [])
+ ca.get_cert(b"two.com", [])
+ ca.get_cert(b"three.com", [])
+
+ assert (b"one.com", ()) in ca.certs
+ assert (b"two.com", ()) in ca.certs
+ assert (b"three.com", ()) in ca.certs
+
+ ca.get_cert(b"one.com", [])
+
+ assert (b"one.com", ()) in ca.certs
+ assert (b"two.com", ()) in ca.certs
+ assert (b"three.com", ()) in ca.certs
+
+ ca.get_cert(b"four.com", [])
+
+ assert (b"one.com", ()) not in ca.certs
+ assert (b"two.com", ()) in ca.certs
+ assert (b"three.com", ()) in ca.certs
+ assert (b"four.com", ()) in ca.certs
+
def test_overrides(self):
with tutils.tmpdir() as d:
ca1 = certutils.CertStore.from_store(os.path.join(d, "ca1"), "test")