mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-01-10 07:20:56 +00:00
38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
|
from common import * # isort:skip
|
||
|
|
||
|
from slip39_vectors import vectors
|
||
|
from trezor.crypto import tropic
|
||
|
|
||
|
|
||
|
class TestCryptoTropic(unittest.TestCase):
|
||
|
def test_ping(self):
|
||
|
self.assertEqual(tropic.ping("HeLlO!"), "HeLlO!")
|
||
|
|
||
|
def test_get_certificate(self):
|
||
|
self.assertEqual(len(tropic.get_certificate()), 512)
|
||
|
|
||
|
def test_get_random(self):
|
||
|
self.assertEqual(len(tropic.random_get(10)), 10)
|
||
|
|
||
|
def test_sign(self):
|
||
|
try:
|
||
|
tropic.sign(0, "ASD")
|
||
|
assert False
|
||
|
except ValueError as e:
|
||
|
self.assertIn("invalid length", str(e).lower())
|
||
|
|
||
|
# signing needs to fail because we don't have a key!
|
||
|
try:
|
||
|
tropic.sign(0, "a" * 32)
|
||
|
assert False
|
||
|
except tropic.TropicError as e:
|
||
|
self.assertIn("sign failed", str(e).lower())
|
||
|
|
||
|
tropic.key_generate(0)
|
||
|
|
||
|
# signing should work now that we have a key
|
||
|
self.assertEqual(len(tropic.sign(0, "a" * 32)), 64)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
unittest.main()
|