aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2015-05-12 21:48:11 -0400
committerAlex Gaynor <alex.gaynor@gmail.com>2015-05-12 21:48:11 -0400
commit0facc2a21462721e5a6105d43d50ebb85a1d11f6 (patch)
treec99659c364711f421f4235b5b11019b7e3cb1374
parentfe35bd616e60980ea653a3d1f078e590d7689690 (diff)
parent66c6170c02d0b3c00a9a10951f7bb0d29341d34e (diff)
downloadcryptography-0facc2a21462721e5a6105d43d50ebb85a1d11f6.tar.gz
cryptography-0facc2a21462721e5a6105d43d50ebb85a1d11f6.tar.bz2
cryptography-0facc2a21462721e5a6105d43d50ebb85a1d11f6.zip
Merge pull request #1936 from reaperhulk/cp-noticenumbers-required
notice_numbers are not optional in NoticeReference
-rw-r--r--docs/x509.rst6
-rw-r--r--src/cryptography/x509.py4
-rw-r--r--tests/test_x509_ext.py11
3 files changed, 10 insertions, 11 deletions
diff --git a/docs/x509.rst b/docs/x509.rst
index 96255a2c..a40727cc 100644
--- a/docs/x509.rst
+++ b/docs/x509.rst
@@ -959,13 +959,13 @@ These classes may be present within a :class:`CertificatePolicies` instance.
.. attribute:: organization
- :type: :term:`text` or None
+ :type: :term:`text`
.. attribute:: notice_numbers
- :type: list or None
+ :type: list
- A list of integers or None.
+ A list of integers.
Object Identifiers
~~~~~~~~~~~~~~~~~~
diff --git a/src/cryptography/x509.py b/src/cryptography/x509.py
index 173fd084..b0a4a352 100644
--- a/src/cryptography/x509.py
+++ b/src/cryptography/x509.py
@@ -568,11 +568,11 @@ class UserNotice(object):
class NoticeReference(object):
def __init__(self, organization, notice_numbers):
self._organization = organization
- if notice_numbers and not all(
+ if not isinstance(notice_numbers, list) or not all(
isinstance(x, int) for x in notice_numbers
):
raise TypeError(
- "notice_numbers must be a list of integers or None"
+ "notice_numbers must be a list of integers"
)
self._notice_numbers = notice_numbers
diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py
index a366265c..701ea167 100644
--- a/tests/test_x509_ext.py
+++ b/tests/test_x509_ext.py
@@ -45,9 +45,8 @@ class TestNoticeReference(object):
x509.NoticeReference("org", [1, 2, "three"])
def test_notice_numbers_none(self):
- nr = x509.NoticeReference("org", None)
- assert nr.organization == "org"
- assert nr.notice_numbers is None
+ with pytest.raises(TypeError):
+ x509.NoticeReference("org", None)
def test_repr(self):
nr = x509.NoticeReference(u"org", [1, 3, 4])
@@ -88,16 +87,16 @@ class TestUserNotice(object):
assert un.explicit_text == "text"
def test_repr(self):
- un = x509.UserNotice(x509.NoticeReference(u"org", None), u"text")
+ un = x509.UserNotice(x509.NoticeReference(u"org", [1]), u"text")
if six.PY3:
assert repr(un) == (
"<UserNotice(notice_reference=<NoticeReference(organization='"
- "org', notice_numbers=None)>, explicit_text='text')>"
+ "org', notice_numbers=[1])>, explicit_text='text')>"
)
else:
assert repr(un) == (
"<UserNotice(notice_reference=<NoticeReference(organization=u"
- "'org', notice_numbers=None)>, explicit_text=u'text')>"
+ "'org', notice_numbers=[1])>, explicit_text=u'text')>"
)
def test_eq(self):