From f9a77b6886ac8942645a24b8cb65479fcfd23d09 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Sat, 26 Dec 2015 12:14:25 -0500 Subject: Refs #2578 -- implement __hash__ on CRLNumber --- src/cryptography/x509/extensions.py | 3 +++ tests/test_x509_ext.py | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/src/cryptography/x509/extensions.py b/src/cryptography/x509/extensions.py index 6ae00927..2363d2bf 100644 --- a/src/cryptography/x509/extensions.py +++ b/src/cryptography/x509/extensions.py @@ -132,6 +132,9 @@ class CRLNumber(object): def __ne__(self, other): return not self == other + def __hash__(self): + return hash(self.crl_number) + def __repr__(self): return "".format(self.crl_number) diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py index b8105a4b..49a3433c 100644 --- a/tests/test_x509_ext.py +++ b/tests/test_x509_ext.py @@ -1579,6 +1579,13 @@ class TestCRLNumber(object): with pytest.raises(TypeError): x509.CRLNumber("notanumber") + def test_hash(self): + c1 = x509.CRLNumber(1) + c2 = x509.CRLNumber(1) + c3 = x509.CRLNumber(2) + assert hash(c1) == hash(c2) + assert hash(c1) != hash(c3) + class TestSubjectAlternativeName(object): def test_get_values_for_type(self): -- cgit v1.2.3