diff options
| author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2017-09-13 21:34:59 +0800 | 
|---|---|---|
| committer | Alex Gaynor <alex.gaynor@gmail.com> | 2017-09-13 09:34:59 -0400 | 
| commit | fbfc36da2a4769045f2373b004ddf0aff906cf38 (patch) | |
| tree | 50bdea38adaed2a6969f642b40103ce6506d21df /tests/x509 | |
| parent | e535985a73a6aee349ac08b07ebe4f652b2eeb29 (diff) | |
| download | cryptography-fbfc36da2a4769045f2373b004ddf0aff906cf38.tar.gz cryptography-fbfc36da2a4769045f2373b004ddf0aff906cf38.tar.bz2 cryptography-fbfc36da2a4769045f2373b004ddf0aff906cf38.zip | |
implement __hash__ on all GeneralName types (#3907)
Needed to implement __hash__ on AuthorityKeyIdentifier
Diffstat (limited to 'tests/x509')
| -rw-r--r-- | tests/x509/test_x509_ext.py | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/tests/x509/test_x509_ext.py b/tests/x509/test_x509_ext.py index 830283bb..b3ea1f96 100644 --- a/tests/x509/test_x509_ext.py +++ b/tests/x509/test_x509_ext.py @@ -1525,6 +1525,13 @@ class TestDNSName(object):          assert n1 != n2          assert not (n2 != n3) +    def test_hash(self): +        n1 = x509.DNSName(b"test1") +        n2 = x509.DNSName(b"test2") +        n3 = x509.DNSName(b"test2") +        assert hash(n1) != hash(n2) +        assert hash(n2) == hash(n3) +  class TestDirectoryName(object):      def test_not_name(self): @@ -1571,6 +1578,19 @@ class TestDirectoryName(object):          assert gn != gn2          assert gn != object() +    def test_hash(self): +        name = x509.Name([ +            x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1') +        ]) +        name2 = x509.Name([ +            x509.NameAttribute(x509.ObjectIdentifier('2.999.2'), u'value2') +        ]) +        gn = x509.DirectoryName(name) +        gn2 = x509.DirectoryName(name) +        gn3 = x509.DirectoryName(name2) +        assert hash(gn) == hash(gn2) +        assert hash(gn) != hash(gn3) +  class TestRFC822Name(object):      def test_repr(self): @@ -1728,6 +1748,13 @@ class TestRegisteredID(object):          assert gn != gn2          assert gn != object() +    def test_hash(self): +        gn = x509.RegisteredID(NameOID.COMMON_NAME) +        gn2 = x509.RegisteredID(NameOID.COMMON_NAME) +        gn3 = x509.RegisteredID(ExtensionOID.BASIC_CONSTRAINTS) +        assert hash(gn) == hash(gn2) +        assert hash(gn) != hash(gn3) +  class TestIPAddress(object):      def test_not_ipaddress(self): @@ -1761,6 +1788,13 @@ class TestIPAddress(object):          assert gn != gn2          assert gn != object() +    def test_hash(self): +        gn = x509.IPAddress(ipaddress.IPv4Address(u"127.0.0.1")) +        gn2 = x509.IPAddress(ipaddress.IPv4Address(u"127.0.0.1")) +        gn3 = x509.IPAddress(ipaddress.IPv4Address(u"127.0.0.2")) +        assert hash(gn) == hash(gn2) +        assert hash(gn) != hash(gn3) +  class TestOtherName(object):      def test_invalid_args(self): @@ -1810,6 +1844,13 @@ class TestOtherName(object):          gn2 = x509.OtherName(x509.ObjectIdentifier("1.2.3.5"), b"derdata")          assert gn != gn2 +    def test_hash(self): +        gn = x509.OtherName(x509.ObjectIdentifier("1.2.3.4"), b"derdata") +        gn2 = x509.OtherName(x509.ObjectIdentifier("1.2.3.4"), b"derdata") +        gn3 = x509.OtherName(x509.ObjectIdentifier("1.2.3.5"), b"derdata") +        assert hash(gn) == hash(gn2) +        assert hash(gn) != hash(gn3) +  class TestGeneralNames(object):      def test_get_values_for_type(self): | 
