2012-11-15 20:05:57 +00:00
|
|
|
import unittest
|
2013-01-14 13:44:31 +00:00
|
|
|
import common
|
2012-11-15 20:05:57 +00:00
|
|
|
|
2013-12-30 22:35:20 +00:00
|
|
|
from trezorlib import messages_pb2 as messages
|
2012-11-15 20:05:57 +00:00
|
|
|
|
2012-12-03 15:36:03 +00:00
|
|
|
'''
|
|
|
|
TODO:
|
|
|
|
* Features reflects all variations of LoadDevice
|
|
|
|
* Maxfee settings
|
|
|
|
* Client requires OTP
|
|
|
|
* Client requires PIN
|
|
|
|
|
|
|
|
'''
|
|
|
|
|
2014-01-27 10:25:27 +00:00
|
|
|
class TestBasic(common.TrezorTest):
|
2012-12-03 15:36:03 +00:00
|
|
|
def test_features(self):
|
2013-12-30 22:35:20 +00:00
|
|
|
features = self.client.call(messages.Initialize())
|
2014-01-27 10:25:27 +00:00
|
|
|
|
2012-12-03 15:36:03 +00:00
|
|
|
# Result is the same as reported by BitkeyClient class
|
2013-09-13 03:28:29 +00:00
|
|
|
self.assertEqual(features, self.client.features)
|
2014-01-27 10:25:27 +00:00
|
|
|
|
2012-12-03 15:36:03 +00:00
|
|
|
def test_ping(self):
|
2013-12-30 22:35:20 +00:00
|
|
|
ping = self.client.call(messages.Ping(message='ahoj!'))
|
2014-01-27 10:25:27 +00:00
|
|
|
|
2012-12-03 15:36:03 +00:00
|
|
|
# Ping results in Success(message='Ahoj!')
|
2013-12-30 22:35:20 +00:00
|
|
|
self.assertEqual(ping, messages.Success(message='ahoj!'))
|
2014-01-27 10:25:27 +00:00
|
|
|
|
2014-02-01 12:39:21 +00:00
|
|
|
def test_device_id_same(self):
|
|
|
|
id1 = self.client.get_device_id()
|
2013-09-13 03:28:29 +00:00
|
|
|
self.client.init_device()
|
2014-02-01 12:39:21 +00:00
|
|
|
id2 = self.client.get_device_id()
|
2014-01-27 10:25:27 +00:00
|
|
|
|
2014-02-01 12:39:21 +00:00
|
|
|
# ID must be at least 12 characters
|
|
|
|
self.assertTrue(len(id1) >= 12)
|
2014-01-27 10:25:27 +00:00
|
|
|
|
2012-12-03 15:36:03 +00:00
|
|
|
# Every resulf of UUID must be the same
|
2014-02-01 12:39:21 +00:00
|
|
|
self.assertEqual(id1, id2)
|
|
|
|
|
|
|
|
def test_device_id_different(self):
|
|
|
|
id1 = self.client.get_device_id()
|
|
|
|
self.client.wipe_device()
|
|
|
|
id2 = self.client.get_device_id()
|
|
|
|
|
|
|
|
# Device ID must be fresh after every reset
|
|
|
|
self.assertNotEqual(id1, id2)
|
2013-01-14 13:44:31 +00:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
2013-09-13 03:28:29 +00:00
|
|
|
unittest.main()
|