from common import * # isort:skip if not utils.BITCOIN_ONLY: from trezor.messages import EosTxActionAck from apps.eos.actions import _check_action @unittest.skipUnless(not utils.BITCOIN_ONLY, "altcoin") class TestEosActions(unittest.TestCase): def test_check_action(self): # return True self.assertEqual( _check_action( EosTxActionAck(common=object(), buy_ram=object()), "buyram", "eosio" ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), buy_ram_bytes=object()), "buyrambytes", "eosio", ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), sell_ram=object()), "sellram", "eosio" ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), delegate=object()), "delegatebw", "eosio", ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), undelegate=object()), "undelegatebw", "eosio", ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), refund=object()), "refund", "eosio" ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), vote_producer=object()), "voteproducer", "eosio", ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), update_auth=object()), "updateauth", "eosio", ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), delete_auth=object()), "deleteauth", "eosio", ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), link_auth=object()), "linkauth", "eosio" ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), unlink_auth=object()), "unlinkauth", "eosio", ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), new_account=object()), "newaccount", "eosio", ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), transfer=object()), "transfer", "not_eosio", ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), unknown=[]), "unknown", "not_eosio" ), True, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), unknown=[]), "buyram", "buygoods" ), True, ) # returns False self.assertEqual( _check_action( EosTxActionAck(common=object(), buy_ram=object()), "buyram", "not_eosio" ), False, ) self.assertEqual( _check_action(EosTxActionAck(common=object()), "buyram", "eosio"), False ) self.assertEqual( _check_action( EosTxActionAck(common=object(), buy_ram_bytes=object()), "buyrambytes", "not_eosio", ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), sell_ram=object()), "sellram", "not_eosio", ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), delegate=object()), "delegatebw", "not_eosio", ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), undelegate=object()), "undelegatebw", "not_eosio", ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), refund=object()), "refund", "not_eosio" ), False, ) self.assertEqual( _check_action(EosTxActionAck(common=object()), "refund", "eosio"), False ) self.assertEqual( _check_action( EosTxActionAck(common=object(), vote_producer=object()), "voteproducer", "not_eosio", ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), update_auth=object()), "updateauth", "not_eosio", ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), delete_auth=object()), "deleteauth", "not_eosio", ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), link_auth=object()), "linkauth", "not_eosio", ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), unlink_auth=object()), "unlinkauth", "not_eosio", ), False, ) self.assertEqual( _check_action(EosTxActionAck(common=object()), "unlinkauth", "eosio"), False ) self.assertEqual( _check_action( EosTxActionAck(common=object(), new_account=object()), "newaccount", "not_eosio", ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), transfer=object()), "transfer", "eosio" ), False, ) self.assertEqual( _check_action(EosTxActionAck(common=object()), "unknown", "not_eosio"), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), buy_ram=object()), "test", "eosio" ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), unknown=[]), "buyram", "eosio" ), False, ) self.assertEqual( _check_action( EosTxActionAck(common=object(), unknown=[]), "transfer", "loveme" ), False, ) if __name__ == "__main__": unittest.main()