diff options
author | Ilya Etingof <etingof@gmail.com> | 2019-06-30 23:49:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-30 23:49:59 +0200 |
commit | dd6640a921a5de7f2b35d8bb852d6eb52527f0a7 (patch) | |
tree | 99dd97358516473d4f5af0da4c9399f3cb7b9ac8 /tests | |
parent | 4a9abf7ae867e9ebabc850320d87a7c1230acfad (diff) | |
download | pyasn1-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.py | 24 |
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') |