diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2017-07-08 21:50:01 -0400 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2017-07-08 20:50:01 -0500 |
commit | 0c9aed91697c5bc1eb16c2254406149e2395fdae (patch) | |
tree | b0ea4d4d81357e0aab15d70f1823486aebfbb9a8 /tests | |
parent | ae487bb5c70516505653a7884b5be5de26c5d96e (diff) | |
download | cryptography-0c9aed91697c5bc1eb16c2254406149e2395fdae.tar.gz cryptography-0c9aed91697c5bc1eb16c2254406149e2395fdae.tar.bz2 cryptography-0c9aed91697c5bc1eb16c2254406149e2395fdae.zip |
Fixed #3747 -- cache extensions on x.509 objects (#3769)
* Fixed #3747 -- cache extensions on x.509 objects
* be kind to cpython, save a dict lookup
* flake8
* changelog
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_cryptography_utils.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/test_cryptography_utils.py b/tests/test_cryptography_utils.py index 037d11cc..290e1612 100644 --- a/tests/test_cryptography_utils.py +++ b/tests/test_cryptography_utils.py @@ -4,8 +4,55 @@ from __future__ import absolute_import, division, print_function +import pytest + from cryptography import utils def test_int_from_bytes_bytearray(): assert utils.int_from_bytes(bytearray(b"\x02\x10"), "big") == 528 + + +class TestCachedProperty(object): + def test_simple(self): + accesses = [] + + class T(object): + @utils.cached_property + def t(self): + accesses.append(None) + return 14 + + assert T.t + t = T() + assert t.t == 14 + assert len(accesses) == 1 + assert t.t == 14 + assert len(accesses) == 1 + + t = T() + assert t.t == 14 + assert len(accesses) == 2 + assert t.t == 14 + assert len(accesses) == 2 + + def test_set(self): + accesses = [] + + class T(object): + @utils.cached_property + def t(self): + accesses.append(None) + return 14 + + t = T() + with pytest.raises(AttributeError): + t.t = None + assert len(accesses) == 0 + assert t.t == 14 + assert len(accesses) == 1 + with pytest.raises(AttributeError): + t.t = None + assert len(accesses) == 1 + assert t.t == 14 + assert len(accesses) == 1 |