1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#!/usr/bin/env python
"""Unit tests for M2Crypto.ASN1.
Copyright (c) 2005 Open Source Applications Foundation. All rights reserved."""
import unittest, time
from M2Crypto import ASN1, m2
class ASN1TestCase(unittest.TestCase):
def check_Integer(self):
pass # XXX Dunno how to test
def check_BitSTring(self):
pass # XXX Dunno how to test
def check_String(self):
asn1ptr = m2.asn1_string_new()
text = 'hello there'
# In RFC2253 format:
# #040B68656C6C6F207468657265
# h e l l o t h e r e
m2.asn1_string_set(asn1ptr, text)
a = ASN1.ASN1_String(asn1ptr)
assert a.as_text() == 'hello there', a.as_text()
assert a.as_text(flags=m2.ASN1_STRFLGS_RFC2253) == '#040B68656C6C6F207468657265', a.as_text(flags=m2.ASN1_STRFLGS_RFC2253)
def check_Object(self):
pass # XXX Dunno how to test
def check_UTCTIME(self):
asn1 = ASN1.ASN1_UTCTIME()
assert str(asn1) == 'Bad time value'
format = '%b %d %H:%M:%S %Y GMT'
utcformat = '%y%m%d%H%M%SZ'
s = '990807053011Z'
asn1.set_string(s)
#assert str(asn1) == 'Aug 7 05:30:11 1999 GMT'
t1 = time.strptime(str(asn1), format)
t2 = time.strptime(s, utcformat)
assert t1 == t2
asn1.set_time(500)
#assert str(asn1) == 'Jan 1 00:08:20 1970 GMT'
t1 = time.strftime(format, time.strptime(str(asn1), format))
t2 = time.strftime(format, time.gmtime(500))
assert t1 == t2
t = long(time.time()) + time.timezone
asn1.set_time(t)
t1 = time.strftime(format, time.strptime(str(asn1), format))
t2 = time.strftime(format, time.gmtime(t))
assert t1 == t2
def suite():
return unittest.makeSuite(ASN1TestCase, 'check')
if __name__ == '__main__':
unittest.TextTestRunner().run(suite())
|