aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2017-09-14 11:15:21 +0800
committerAlex Gaynor <alex.gaynor@gmail.com>2017-09-13 23:15:21 -0400
commit5e9eeefe201e15f559f51953c8002a966cb9af1e (patch)
treeb93a8cf1d44099a9f767663457649fe8a0083239 /tests
parent83bb406138d344cce22c54ef3576516031c90ec6 (diff)
downloadcryptography-5e9eeefe201e15f559f51953c8002a966cb9af1e.tar.gz
cryptography-5e9eeefe201e15f559f51953c8002a966cb9af1e.tar.bz2
cryptography-5e9eeefe201e15f559f51953c8002a966cb9af1e.zip
add __hash__ to GeneralNames, SAN, IAN, and CertificateIssuer (#3916)
Diffstat (limited to 'tests')
-rw-r--r--tests/x509/test_x509_ext.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/x509/test_x509_ext.py b/tests/x509/test_x509_ext.py
index db805aa6..d121a92b 100644
--- a/tests/x509/test_x509_ext.py
+++ b/tests/x509/test_x509_ext.py
@@ -285,6 +285,15 @@ class TestCertificateIssuer(object):
names = ci.get_values_for_type(x509.DNSName)
assert names == [u"cryptography.io"]
+ def test_hash(self):
+ ci1 = x509.CertificateIssuer([x509.DNSName(b"cryptography.io")])
+ ci2 = x509.CertificateIssuer([x509.DNSName(b"cryptography.io")])
+ ci3 = x509.CertificateIssuer(
+ [x509.UniformResourceIdentifier(b"http://something")]
+ )
+ assert hash(ci1) == hash(ci2)
+ assert hash(ci1) != hash(ci3)
+
class TestCRLReason(object):
def test_invalid_reason_flags(self):
@@ -2052,6 +2061,13 @@ class TestGeneralNames(object):
assert gns != gns2
assert gns != object()
+ def test_hash(self):
+ gns = x509.GeneralNames([x509.DNSName(b"cryptography.io")])
+ gns2 = x509.GeneralNames([x509.DNSName(b"cryptography.io")])
+ gns3 = x509.GeneralNames([x509.RFC822Name(b"admin@cryptography.io")])
+ assert hash(gns) == hash(gns2)
+ assert hash(gns) != hash(gns3)
+
class TestIssuerAlternativeName(object):
def test_get_values_for_type(self):
@@ -2125,6 +2141,15 @@ class TestIssuerAlternativeName(object):
assert san != san2
assert san != object()
+ def test_hash(self):
+ ian = x509.IssuerAlternativeName([x509.DNSName(b"cryptography.io")])
+ ian2 = x509.IssuerAlternativeName([x509.DNSName(b"cryptography.io")])
+ ian3 = x509.IssuerAlternativeName(
+ [x509.RFC822Name(b"admin@cryptography.io")]
+ )
+ assert hash(ian) == hash(ian2)
+ assert hash(ian) != hash(ian3)
+
@pytest.mark.requires_backend_interface(interface=RSABackend)
@pytest.mark.requires_backend_interface(interface=X509Backend)
@@ -2241,6 +2266,15 @@ class TestSubjectAlternativeName(object):
assert san != san2
assert san != object()
+ def test_hash(self):
+ san = x509.SubjectAlternativeName([x509.DNSName(b"cryptography.io")])
+ san2 = x509.SubjectAlternativeName([x509.DNSName(b"cryptography.io")])
+ san3 = x509.SubjectAlternativeName(
+ [x509.RFC822Name(b"admin@cryptography.io")]
+ )
+ assert hash(san) == hash(san2)
+ assert hash(san) != hash(san3)
+
@pytest.mark.requires_backend_interface(interface=RSABackend)
@pytest.mark.requires_backend_interface(interface=X509Backend)