def test_get_address(self): with self.client: self.setup_mnemonic_nopin_passphrase() self.client.set_expected_responses([ proto.PassphraseRequest(), proto.PassphraseStateRequest(), proto.Address() ]) self.client.get_address('Bitcoin', [])
def test_get_public_key(self): with self.client: self.setup_mnemonic_nopin_passphrase() self.client.set_expected_responses([ proto.PassphraseRequest(), proto.PassphraseStateRequest(), proto.PublicKey() ]) self.client.get_public_node([])
def test_ping(self): with self.client: self.setup_mnemonic_nopin_passphrase() self.client.set_expected_responses([ proto.PassphraseRequest(), proto.PassphraseStateRequest(), proto.Success() ]) self.client.ping('msg', True, True, True)
def test_sign_message(self): with self.client: self.setup_mnemonic_nopin_passphrase() self.client.set_expected_responses([ proto.PassphraseRequest(), proto.PassphraseStateRequest(), proto.MessageSignature() ]) self.client.sign_message('Bitcoin', [], 'testing message')
def test_passphrase_protection(self): self.setup_mnemonic_nopin_passphrase() with self.client: self.client.set_expected_responses([ proto.PassphraseRequest(), proto.PassphraseStateRequest(), proto.Success() ]) self._some_protected_call(False, True, True)
def test_signtx(self): self.setup_mnemonic_nopin_passphrase() inp1 = proto.TxInputType( address_n=[0], # 14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e prev_hash=TXHASH_d5f65e, prev_index=0, ) out1 = proto.TxOutputType( address='1MJ2tj2ThBE62zXbBYA5ZaN3fdve5CPAz1', amount=390000 - 10000, script_type=proto.OutputScriptType.PAYTOADDRESS, ) with self.client: self.client.set_expected_responses([ proto.PassphraseRequest(), proto.PassphraseStateRequest(), proto.TxRequest( request_type=proto.RequestType.TXINPUT, details=proto.TxRequestDetailsType(request_index=0)), proto.TxRequest( request_type=proto.RequestType.TXMETA, details=proto.TxRequestDetailsType(tx_hash=TXHASH_d5f65e)), proto.TxRequest(request_type=proto.RequestType.TXINPUT, details=proto.TxRequestDetailsType( request_index=0, tx_hash=TXHASH_d5f65e)), proto.TxRequest(request_type=proto.RequestType.TXINPUT, details=proto.TxRequestDetailsType( request_index=1, tx_hash=TXHASH_d5f65e)), proto.TxRequest(request_type=proto.RequestType.TXOUTPUT, details=proto.TxRequestDetailsType( request_index=0, tx_hash=TXHASH_d5f65e)), proto.TxRequest( request_type=proto.RequestType.TXOUTPUT, details=proto.TxRequestDetailsType(request_index=0)), proto.TxRequest( request_type=proto.RequestType.TXINPUT, details=proto.TxRequestDetailsType(request_index=0)), proto.TxRequest( request_type=proto.RequestType.TXOUTPUT, details=proto.TxRequestDetailsType(request_index=0)), proto.TxRequest( request_type=proto.RequestType.TXOUTPUT, details=proto.TxRequestDetailsType(request_index=0)), proto.TxRequest(request_type=proto.RequestType.TXFINISHED), ]) self.client.sign_tx('Bitcoin', [ inp1, ], [ out1, ])
def test_clearsession(self): self.setup_mnemonic_nopin_passphrase() self.client.set_passphrase('passphrase') with self.client: self.client.set_expected_responses([ proto.PassphraseRequest(), proto.PassphraseStateRequest(), proto.Address() ]) res = self.client.get_address('Bitcoin', []) assert res == '15fiTDFwZd2kauHYYseifGi9daH2wniDHH' with self.client: # passphrase are cached self.client.set_expected_responses([proto.Address()]) res = self.client.get_address('Bitcoin', []) assert res == '15fiTDFwZd2kauHYYseifGi9daH2wniDHH' self.client.clear_session() # session cache is cleared with self.client: self.client.set_expected_responses([ proto.PassphraseRequest(), proto.PassphraseStateRequest(), proto.Address() ]) res = self.client.get_address('Bitcoin', []) assert res == '15fiTDFwZd2kauHYYseifGi9daH2wniDHH' with self.client: # pin and passphrase are cached self.client.set_expected_responses([proto.Address()]) res = self.client.get_address('Bitcoin', []) assert res == '15fiTDFwZd2kauHYYseifGi9daH2wniDHH'