aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_x509.py73
-rw-r--r--tests/test_x509_ext.py41
2 files changed, 99 insertions, 15 deletions
diff --git a/tests/test_x509.py b/tests/test_x509.py
index d3b24ecc..67df30c0 100644
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -1895,7 +1895,7 @@ class TestCertificateBuilder(object):
x509.CRLDistributionPoints([
x509.DistributionPoint(
full_name=None,
- relative_name=x509.Name([
+ relative_name=x509.RelativeDistinguishedName([
x509.NameAttribute(
NameOID.COMMON_NAME,
u"indirect CRL for indirectCRL CA3"
@@ -3604,6 +3604,77 @@ class TestNameAttribute(object):
)
+class TestRelativeDistinguishedName(object):
+ def test_init_empty(self):
+ with pytest.raises(ValueError):
+ x509.RelativeDistinguishedName([])
+
+ def test_init_not_nameattribute(self):
+ with pytest.raises(TypeError):
+ x509.RelativeDistinguishedName(["not-a-NameAttribute"])
+
+ def test_init_duplicate_attribute(self):
+ rdn = x509.RelativeDistinguishedName([
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1'),
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1'),
+ ])
+ assert len(rdn) == 1
+
+ def test_hash(self):
+ rdn1 = x509.RelativeDistinguishedName([
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1'),
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.2'), u'value2'),
+ ])
+ rdn2 = x509.RelativeDistinguishedName([
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.2'), u'value2'),
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1'),
+ ])
+ rdn3 = x509.RelativeDistinguishedName([
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1'),
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.2'), u'value3'),
+ ])
+ assert hash(rdn1) == hash(rdn2)
+ assert hash(rdn1) != hash(rdn3)
+
+ def test_eq(self):
+ rdn1 = x509.RelativeDistinguishedName([
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1'),
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.2'), u'value2'),
+ ])
+ rdn2 = x509.RelativeDistinguishedName([
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.2'), u'value2'),
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1'),
+ ])
+ assert rdn1 == rdn2
+
+ def test_ne(self):
+ rdn1 = x509.RelativeDistinguishedName([
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1'),
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.2'), u'value2'),
+ ])
+ rdn2 = x509.RelativeDistinguishedName([
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1'),
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.2'), u'value3'),
+ ])
+ assert rdn1 != rdn2
+ assert rdn1 != object()
+
+ def test_iter_input(self):
+ attrs = [
+ x509.NameAttribute(x509.ObjectIdentifier('2.999.1'), u'value1')
+ ]
+ rdn = x509.RelativeDistinguishedName(iter(attrs))
+ assert list(rdn) == attrs
+ assert list(rdn) == attrs
+
+ def test_get_attributes_for_oid(self):
+ oid = x509.ObjectIdentifier('2.999.1')
+ attr = x509.NameAttribute(oid, u'value1')
+ rdn = x509.RelativeDistinguishedName([attr])
+ assert rdn.get_attributes_for_oid(oid) == [attr]
+ assert rdn.get_attributes_for_oid(x509.ObjectIdentifier('1.2.3')) == []
+
+
class TestObjectIdentifier(object):
def test_eq(self):
oid1 = x509.ObjectIdentifier('2.999.1')
diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py
index 749e52f1..7104121d 100644
--- a/tests/test_x509_ext.py
+++ b/tests/test_x509_ext.py
@@ -3003,6 +3003,17 @@ class TestDistributionPoint(object):
with pytest.raises(ValueError):
x509.DistributionPoint("data", "notname", None, None)
+ def test_relative_name_name_value_deprecated(self):
+ with pytest.deprecated_call():
+ x509.DistributionPoint(
+ None,
+ x509.Name([
+ x509.NameAttribute(NameOID.COMMON_NAME, u"myCN")
+ ]),
+ None,
+ None
+ )
+
def test_crl_issuer_not_general_names(self):
with pytest.raises(TypeError):
x509.DistributionPoint(None, None, None, ["notgn"])
@@ -3127,7 +3138,7 @@ class TestDistributionPoint(object):
def test_repr(self):
dp = x509.DistributionPoint(
None,
- x509.Name([
+ x509.RelativeDistinguishedName([
x509.NameAttribute(NameOID.COMMON_NAME, u"myCN")
]),
frozenset([x509.ReasonFlags.ca_compromise]),
@@ -3143,21 +3154,23 @@ class TestDistributionPoint(object):
)
if six.PY3:
assert repr(dp) == (
- "<DistributionPoint(full_name=None, relative_name=<Name([<Name"
- "Attribute(oid=<ObjectIdentifier(oid=2.5.4.3, name=commonName)"
- ">, value='myCN')>])>, reasons=frozenset({<ReasonFlags.ca_comp"
- "romise: 'cACompromise'>}), crl_issuer=[<DirectoryName(value=<"
- "Name([<NameAttribute(oid=<ObjectIdentifier(oid=2.5.4.3, name="
- "commonName)>, value='Important CA')>])>)>])>"
+ "<DistributionPoint(full_name=None, relative_name=<RelativeDis"
+ "tinguishedName([<NameAttribute(oid=<ObjectIdentifier(oid=2.5."
+ "4.3, name=commonName)>, value='myCN')>])>, reasons=frozenset("
+ "{<ReasonFlags.ca_compromise: 'cACompromise'>}), crl_issuer=[<"
+ "DirectoryName(value=<Name([<NameAttribute(oid=<ObjectIdentifi"
+ "er(oid=2.5.4.3, name=commonName)>, value='Important CA')>])>)"
+ ">])>"
)
else:
assert repr(dp) == (
- "<DistributionPoint(full_name=None, relative_name=<Name([<Name"
- "Attribute(oid=<ObjectIdentifier(oid=2.5.4.3, name=commonName)"
- ">, value=u'myCN')>])>, reasons=frozenset([<ReasonFlags.ca_com"
- "promise: 'cACompromise'>]), crl_issuer=[<DirectoryName(value="
- "<Name([<NameAttribute(oid=<ObjectIdentifier(oid=2.5.4.3, name"
- "=commonName)>, value=u'Important CA')>])>)>])>"
+ "<DistributionPoint(full_name=None, relative_name=<RelativeDis"
+ "tinguishedName([<NameAttribute(oid=<ObjectIdentifier(oid=2.5."
+ "4.3, name=commonName)>, value=u'myCN')>])>, reasons=frozenset"
+ "([<ReasonFlags.ca_compromise: 'cACompromise'>]), crl_issuer=["
+ "<DirectoryName(value=<Name([<NameAttribute(oid=<ObjectIdentif"
+ "ier(oid=2.5.4.3, name=commonName)>, value=u'Important CA')>])"
+ ">)>])>"
)
@@ -3407,7 +3420,7 @@ class TestCRLDistributionPointsExtension(object):
assert cdps == x509.CRLDistributionPoints([
x509.DistributionPoint(
full_name=None,
- relative_name=x509.Name([
+ relative_name=x509.RelativeDistinguishedName([
x509.NameAttribute(
NameOID.COMMON_NAME,
u"indirect CRL for indirectCRL CA3"