From 5a4415b9ea9c37ae9f2879a2438c52255d8000ff Mon Sep 17 00:00:00 2001 From: Juliya Smith Date: Tue, 29 Oct 2024 10:57:48 -0500 Subject: [PATCH] test: fix test --- src/ape_accounts/_cli.py | 19 ++++++++++++++----- tests/integration/cli/test_accounts.py | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/ape_accounts/_cli.py b/src/ape_accounts/_cli.py index b18a80b450..f6708a0417 100644 --- a/src/ape_accounts/_cli.py +++ b/src/ape_accounts/_cli.py @@ -146,7 +146,6 @@ def ask_for_passphrase(): confirmation_prompt=True, ) - account_module = import_module("ape_accounts.accounts") if import_from_mnemonic: from eth_account import Account as EthAccount @@ -154,9 +153,7 @@ def ask_for_passphrase(): EthAccount.enable_unaudited_hdwallet_features() try: passphrase = ask_for_passphrase() - account = account_module.import_account_from_mnemonic( - alias, passphrase, mnemonic, custom_hd_path - ) + account = _account_from_mnemonic(alias, passphrase, mnemonic, hd_path=custom_hd_path) except Exception as error: error_msg = f"{error}".replace(mnemonic, HIDDEN_MESSAGE) cli_ctx.abort(f"Seed phrase can't be imported: {error_msg}") @@ -165,7 +162,7 @@ def ask_for_passphrase(): key = click.prompt("Enter Private Key", hide_input=True) try: passphrase = ask_for_passphrase() - account = account_module.import_account_from_private_key(alias, passphrase, key) + account = _account_from_key(alias, passphrase, key) except Exception as error: cli_ctx.abort(f"Key can't be imported: {error}") @@ -180,6 +177,18 @@ def _load_account_type(account: "AccountAPI") -> bool: return isinstance(account, module.KeyfileAccount) +def _account_from_mnemonic( + alias: str, passphrase: str, mnemonic: str, hd_path: str = ETHEREUM_DEFAULT_PATH +) -> "KeyfileAccount": + account_module = import_module("ape_accounts.accounts") + return account_module.import_account_from_mnemonic(alias, passphrase, mnemonic, hd_path=hd_path) + + +def _account_from_key(alias: str, passphrase: str, key: str) -> "KeyfileAccount": + account_module = import_module("ape_accounts.accounts") + return account_module.import_account_from_private_key(alias, passphrase, key) + + @cli.command(short_help="Export an account private key") @ape_cli_context() @existing_alias_argument(account_type=_load_account_type) diff --git a/tests/integration/cli/test_accounts.py b/tests/integration/cli/test_accounts.py index a0087033e3..1fea64efd5 100644 --- a/tests/integration/cli/test_accounts.py +++ b/tests/integration/cli/test_accounts.py @@ -139,7 +139,7 @@ def invoke_import(): @run_once def test_import_account_instantiation_failure(mocker, ape_cli, runner): - eth_account_from_key_patch = mocker.patch("ape_accounts._cli.EthAccount.from_key") + eth_account_from_key_patch = mocker.patch("ape_accounts._cli._account_from_key") eth_account_from_key_patch.side_effect = Exception("Can't instantiate this account!") result = runner.invoke( ape_cli,