aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Housley <housley@vigilsec.com>2019-07-05 02:51:19 -0400
committerIlya Etingof <etingof@gmail.com>2019-07-05 08:51:19 +0200
commit9c05c76367f327c8f2343c997b92fc0a3398ac41 (patch)
tree8722f1154877a0c940d3f7b543196ed779418ab1
parent86f7ad492e0dd2eda1bbc2f98fc00ecc3837114e (diff)
downloadpyasn1-modules-9c05c76367f327c8f2343c997b92fc0a3398ac41.tar.gz
Add decodeOpenTypes test to test_rfc2986.py (#49)
* Add decodeOpenTypes test to test_rfc2986.py
-rw-r--r--tests/test_rfc2986.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_rfc2986.py b/tests/test_rfc2986.py
index 8dbad8b..4f0bf68 100644
--- a/tests/test_rfc2986.py
+++ b/tests/test_rfc2986.py
@@ -9,9 +9,12 @@ import sys
from pyasn1.codec.der import decoder as der_decoder
from pyasn1.codec.der import encoder as der_encoder
+from pyasn1.type import char
+
from pyasn1_modules import pem
from pyasn1_modules import rfc2986
+
try:
import unittest2 as unittest
@@ -51,6 +54,27 @@ fi6h7i9VVAZpslaKFfkNg12gLbbsCB1q36l5VXjHY/qe0FIUa9ogRrOi
assert asn1Object.prettyPrint()
assert der_encoder.encode(asn1Object) == substrate
+ def testOpenTypes(self):
+
+ substrate = pem.readBase64fromText(self.pem_text)
+
+ rfc2986.certificateAttributesMap.update(
+ rfc5280.certificateAttributesMap)
+
+ asn1Object, rest = der_decoder.decode(substrate,
+ asn1Spec=rfc2986.CertificationRequest(),
+ decodeOpenTypes=True)
+
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert der_encoder.encode(asn1Object) == substrate
+
+ for rdn in asn1Object['certificationRequestInfo']['subject']['rdnSequence']:
+ if rdn[0]['type'] == rfc2986.id_at_countryName:
+ assert rdn[0]['value'] == char.PrintableString('US')
+ else:
+ assert len(rdn[0]['value']['utf8String']) > 2
+
suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])