diff options
| author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2017-09-14 11:15:21 +0800 | 
|---|---|---|
| committer | Alex Gaynor <alex.gaynor@gmail.com> | 2017-09-13 23:15:21 -0400 | 
| commit | 5e9eeefe201e15f559f51953c8002a966cb9af1e (patch) | |
| tree | b93a8cf1d44099a9f767663457649fe8a0083239 /tests/x509 | |
| parent | 83bb406138d344cce22c54ef3576516031c90ec6 (diff) | |
| download | cryptography-5e9eeefe201e15f559f51953c8002a966cb9af1e.tar.gz cryptography-5e9eeefe201e15f559f51953c8002a966cb9af1e.tar.bz2 cryptography-5e9eeefe201e15f559f51953c8002a966cb9af1e.zip | |
add __hash__ to GeneralNames, SAN, IAN, and CertificateIssuer (#3916)
Diffstat (limited to 'tests/x509')
| -rw-r--r-- | tests/x509/test_x509_ext.py | 34 | 
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) | 
