summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2019-06-30 23:49:59 +0200
committerGitHub <noreply@github.com>2019-06-30 23:49:59 +0200
commitdd6640a921a5de7f2b35d8bb852d6eb52527f0a7 (patch)
tree99dd97358516473d4f5af0da4c9399f3cb7b9ac8 /tests
parent4a9abf7ae867e9ebabc850320d87a7c1230acfad (diff)
downloadpyasn1-git-dd6640a921a5de7f2b35d8bb852d6eb52527f0a7.tar.gz
Improve CER/DER encoding of GeneralizedTime (#164)
- Added support for subseconds CER/DER encoding edge cases in `GeneralizedTime` codec - Fixed 3-digit fractional seconds value CER/DER encoding of `GeneralizedTime`
Diffstat (limited to 'tests')
-rw-r--r--tests/codec/cer/test_encoder.py24
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/codec/cer/test_encoder.py b/tests/codec/cer/test_encoder.py
index ea8f813..130fe17 100644
--- a/tests/codec/cer/test_encoder.py
+++ b/tests/codec/cer/test_encoder.py
@@ -87,7 +87,7 @@ class GeneralizedTimeEncoderTestCase(BaseTestCase):
def testDecimalCommaPoint(self):
try:
assert encoder.encode(
- useful.GeneralizedTime('20150501120112,1Z')
+ useful.GeneralizedTime('20150501120112,1Z')
)
except PyAsn1Error:
pass
@@ -96,9 +96,29 @@ class GeneralizedTimeEncoderTestCase(BaseTestCase):
def testWithSubseconds(self):
assert encoder.encode(
- useful.GeneralizedTime('20170801120112.59Z')
+ useful.GeneralizedTime('20170801120112.59Z')
) == ints2octs((24, 18, 50, 48, 49, 55, 48, 56, 48, 49, 49, 50, 48, 49, 49, 50, 46, 53, 57, 90))
+ def testWithSubsecondsWithZeros(self):
+ assert encoder.encode(
+ useful.GeneralizedTime('20170801120112.099Z')
+ ) == ints2octs((24, 18, 50, 48, 49, 55, 48, 56, 48, 49, 49, 50, 48, 49, 49, 50, 46, 57, 57, 90))
+
+ def testWithSubsecondsMax(self):
+ assert encoder.encode(
+ useful.GeneralizedTime('20170801120112.999Z')
+ ) == ints2octs((24, 19, 50, 48, 49, 55, 48, 56, 48, 49, 49, 50, 48, 49, 49, 50, 46, 57, 57, 57, 90))
+
+ def testWithSubsecondsMin(self):
+ assert encoder.encode(
+ useful.GeneralizedTime('20170801120112.000Z')
+ ) == ints2octs((24, 15, 50, 48, 49, 55, 48, 56, 48, 49, 49, 50, 48, 49, 49, 50, 90))
+
+ def testWithSubsecondsDanglingDot(self):
+ assert encoder.encode(
+ useful.GeneralizedTime('20170801120112.Z')
+ ) == ints2octs((24, 15, 50, 48, 49, 55, 48, 56, 48, 49, 49, 50, 48, 49, 49, 50, 90))
+
def testWithSeconds(self):
assert encoder.encode(
useful.GeneralizedTime('20170801120112Z')