def config(tmp_path, mocker): test_configuration = prepare_conf(tmp_path) mocker.patch('eth_wallet.configuration.Configuration.load_configuration', return_value=test_configuration) mocker.patch('getpass.getpass', return_value="my-password") call_eth_wallet(eth_wallet_cli, parameters=["new-wallet"]) return test_configuration
def test_add_token(config): result = call_eth_wallet(eth_wallet_cli, parameters=[ "add-token", "--contract", "0x19896cB57Bc5B4cb92dbC7D389DBa6290AF505Ce", "--symbol", "FIT" ]) contract_address = config.contracts['FIT'] assert result.exit_code == 0 assert f"New coin was added! FIT " + contract_address + "\n" in result.output result = call_eth_wallet(eth_wallet_cli, parameters=["list-tokens"]) assert result.exit_code == 0 assert f"ETH\nFIT\n" in result.output
def test_get_wallet(config): result = call_eth_wallet(eth_wallet_cli, parameters=["get-wallet"]) address = config.eth_address pub_key = config.public_key assert result.exit_code == 0 assert f"Account address: " + address + "\n" in result.output assert f"Account pub key: " + pub_key + "\n" in result.output
def test_invalid_address(config): result = call_eth_wallet(eth_wallet_cli, parameters=[ "send-transaction", "--to", "this-is-invalid-address", "--value", "1" ]) assert result.exit_code == 0 assert f"Invalid recipient(to) address!" in result.output
def test_unknown_token(config): result = call_eth_wallet(eth_wallet_cli, parameters=[ "send-transaction", "--to", "0xfe7eaD4D9beD0F1AC2b9f7d8910d8717b505Db4c", "--value", "0.1", "--token", "invalid-token" ]) assert result.exit_code == 0 assert f"This token is not added to the wallet!" in result.output
def test_insufficient_funds(config): result = call_eth_wallet(eth_wallet_cli, parameters=[ "send-transaction", "--to", "0xfe7eaD4D9beD0F1AC2b9f7d8910d8717b505Db4c", "--value", "0.1" ]) assert result.exit_code == 0 assert f"Insufficient ETH funds! Check balance on your address." in result.output
def test_invalid_vlue(config): result = call_eth_wallet(eth_wallet_cli, parameters=[ "send-transaction", "--to", "0xfe7eaD4D9beD0F1AC2b9f7d8910d8717b505Db4c", "--value", "this-is-invalid-value" ]) assert result.exit_code == 0 assert f"Invalid value to send!" in result.output
def test_incorrect_password(config, mocker): mocker.patch('getpass.getpass', return_value="incorrect-password") result = call_eth_wallet(eth_wallet_cli, parameters=[ "send-transaction", "--to", "0xfe7eaD4D9beD0F1AC2b9f7d8910d8717b505Db4c", "--value", "0.1" ]) assert result.exit_code == 0 assert f"Incorrect password!" in result.output
def test_base_subcommand_help(subcommand): result = call_eth_wallet(eth_wallet_cli, parameters=[subcommand, "--help"]) assert result.exit_code == 0 assert f"Usage: eth-wallet-cli {subcommand} [OPTIONS]" in result.output
def test_base_help(): result = call_eth_wallet(parameters=["--help"]) assert result.exit_code == 0 assert "Usage: eth-wallet-cli [OPTIONS] COMMAND [ARGS]..." in result.output
def test_unknown_token(config): result = call_eth_wallet( eth_wallet_cli, parameters=["get-balance", "--token", "invalid-token"]) assert result.exit_code == 0 assert f"This token is not added to the wallet!" in result.output
def test_get_balance(config): result = call_eth_wallet(eth_wallet_cli, parameters=["get-balance"]) address = config.eth_address assert result.exit_code == 0 assert f"Balance on address " + address + " is: 0ETH\n" in result.output