diff options
author | Matěj Cepl <mcepl@cepl.eu> | 2016-05-13 17:05:06 +0200 |
---|---|---|
committer | Matěj Cepl <mcepl@cepl.eu> | 2016-07-12 19:09:22 +0200 |
commit | 0131624ae0b39f744136065d3b2ae239adc5813c (patch) | |
tree | 492af70d6f08713c0d614d7794406ba3386944ea /tests/test_obj.py | |
parent | 39f3ac7fd90a0112ac59057c9abe55885543985a (diff) | |
download | m2crypto-0131624ae0b39f744136065d3b2ae239adc5813c.tar.gz |
tests: type hints and PEP8ization
Diffstat (limited to 'tests/test_obj.py')
-rw-r--r-- | tests/test_obj.py | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/tests/test_obj.py b/tests/test_obj.py index c706e45..1d0ad02 100644 --- a/tests/test_obj.py +++ b/tests/test_obj.py @@ -8,29 +8,36 @@ try: except ImportError: import unittest -from M2Crypto import X509, ASN1, BIO, Rand, m2 +from M2Crypto import ASN1, BIO, Rand, X509, m2 """ These functions must be cleaned up and moved to some python module Taken from CA managment code """ + def x509_name2list(name): for i in range(0, name.entry_count()): - yield X509.X509_Name_Entry(m2.x509_name_get_entry(name._ptr(), i), _pyfree=0) + yield X509.X509_Name_Entry(m2.x509_name_get_entry(name._ptr(), i), + _pyfree=0) + def x509_name_entry2tuple(entry): bio = BIO.MemoryBuffer() m2.asn1_string_print(bio._ptr(), m2.x509_name_entry_get_data(entry._ptr())) - return (m2.obj_obj2txt(m2.x509_name_entry_get_object(entry._ptr()), 0), bio.getvalue()) + return (m2.obj_obj2txt(m2.x509_name_entry_get_object(entry._ptr()), 0), + bio.getvalue()) + def tuple2x509_name_entry(tup): obj, data = tup - _x509_ne = m2.x509_name_entry_create_by_txt(None, obj, ASN1.MBSTRING_ASC, data, len(data)) + _x509_ne = m2.x509_name_entry_create_by_txt(None, obj, ASN1.MBSTRING_ASC, + data, len(data)) if not _x509_ne: raise ValueError("Invalid object indentifier: %s" % obj) return X509.X509_Name_Entry(_x509_ne, _pyfree=1) # Prevent memory leaks + class ObjectsTestCase(unittest.TestCase): def callback(self, *args): @@ -38,9 +45,9 @@ class ObjectsTestCase(unittest.TestCase): def test_obj2txt(self): self.assertEqual(m2.obj_obj2txt(m2.obj_txt2obj("commonName", 0), 1), - "2.5.4.3", "2.5.4.3") + b"2.5.4.3", b"2.5.4.3") self.assertEqual(m2.obj_obj2txt(m2.obj_txt2obj("commonName", 0), 0), - "commonName", "commonName") + b"commonName", b"commonName") def test_nid(self): self.assertEqual(m2.obj_ln2nid("commonName"), @@ -70,36 +77,39 @@ class ObjectsTestCase(unittest.TestCase): def test_x509_name(self): n = X509.X509_Name() - n.C = 'US' # It seems this actually needs to be a real 2 letter country code - n.SP = 'State or Province' - n.L = 'locality name' - n.O = 'orhanization name' - n.OU = 'org unit' - n.CN = 'common name' - n.Email = 'bob@example.com' - n.serialNumber = '1234' - n.SN = 'surname' - n.GN = 'given name' - - n.givenName = 'name given' + # It seems this actually needs to be a real 2 letter country code + n.C = b'US' + n.SP = b'State or Province' + n.L = b'locality name' + n.O = b'orhanization name' + n.OU = b'org unit' + n.CN = b'common name' + n.Email = b'bob@example.com' + n.serialNumber = b'1234' + n.SN = b'surname' + n.GN = b'given name' + + n.givenName = b'name given' self.assertEqual(len(n), 11, len(n)) - tl = map(x509_name_entry2tuple, x509_name2list(n)) + # Thierry: this call to list seems extraneous... + tl = [x509_name_entry2tuple(x) for x in x509_name2list(n)] self.assertEqual(len(tl), len(n), len(tl)) x509_n = m2.x509_name_new() - for o in map(tuple2x509_name_entry, tl): + for o in [tuple2x509_name_entry(x) for x in tl]: m2.x509_name_add_entry(x509_n, o._ptr(), -1, 0) o._pyfree = 0 # Take care of underlying object n1 = X509.X509_Name(x509_n) self.assertEqual(n.as_text(), n1.as_text(), n1.as_text()) + def suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(ObjectsTestCase)) - return suite + s = unittest.TestSuite() + s.addTest(unittest.makeSuite(ObjectsTestCase)) + return s if __name__ == '__main__': |