add tests to .signing + z85 encoding support

This commit is contained in:
Yusur 2025-09-09 16:45:12 +02:00
parent 3d6d44e4a1
commit bfc6cb8e85
7 changed files with 104 additions and 13 deletions

View file

@ -2,7 +2,7 @@
import binascii
import unittest
from suou.codecs import b64encode, b64decode, want_urlsafe
from suou.codecs import b64encode, b64decode, want_urlsafe, z85decode
B1 = b'N\xf0\xb4\xc3\x85\n\xf9\xb6\x9a\x0f\x82\xa6\x99G\x07#'
B2 = b'\xbcXiF,@|{\xbe\xe3\x0cz\xa8\xcbQ\x82'
@ -49,3 +49,12 @@ class TestCodecs(unittest.TestCase):
self.assertEqual('Disney-', want_urlsafe('Disney+'))
self.assertEqual('spaziocosenza', want_urlsafe('spazio cosenza'))
self.assertEqual('=======', want_urlsafe('======='))
def test_z85decode(self):
self.assertEqual(z85decode('pvLTdG:NT:NH+1ENmvGb'), B1)
self.assertEqual(z85decode('YJw(qei[PfZt/SFSln4&'), B2)
self.assertEqual(z85decode('>[>>)c=hgL?I8'), B3)
self.assertEqual(z85decode('2p3(-x*%TsE0-P/40[>}'), B4)
self.assertEqual(z85decode('%m&HH?#r'), B5)
self.assertEqual(z85decode('%m&HH?#uEvW8mO8}l(.5F#j@a2o%'), B5 + B1)

41
tests/test_signing.py Normal file
View file

@ -0,0 +1,41 @@
import time
import unittest
from suou.codecs import want_bytes, b64decode, z85decode
from suou.iding import Siq
from suou.signing import UserSigner
class TestSigning(unittest.TestCase):
def setUp(self) -> None:
# use deterministic secrets in testing
self.signer = UserSigner(
z85decode('suou-test!'), # master secret
Siq(1907492221233425151961830768246784), # user id
b64decode('e7YXG4ob22mBCxoPvgewlAsfiZE2MFu50aP_gtnXW2v2')
)
def tearDown(self) -> None:
...
def test_UserSigner_token(self):
# self coherence test
TIMESTAMP = 1757426896
with self.assertWarns(UserWarning):
tok = self.signer.token(test_timestamp=TIMESTAMP)
self.assertIsInstance(tok, str)
self.assertEqual(tok, 'AF4L78gAAAAAAAAAAAAA.aMA00A.0au9HDfOJZv-gpudEevT6Squ8go')
tok2 = self.signer.token()
tim = int(time.time())
if tim != TIMESTAMP:
self.assertNotEqual(tok2, tok)
tokp = UserSigner.split_token(tok)
self.assertEqual(tokp[0], z85decode('0a364:n=hu000000000'))
self.assertEqual(tokp[1], TIMESTAMP)