Skip to content

Commit bf91319

Browse files
Refactor signer tests (#1488)
* Refactor ledger signer tests * Refactor start curve signer tests * Update mock calculated hash * Remove unused compiled contract
1 parent d972124 commit bf91319

File tree

2 files changed

+12
-70
lines changed

2 files changed

+12
-70
lines changed

starknet_py/tests/unit/signer/test_ledger_signer.py

Lines changed: 6 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
11
from sys import platform
2+
from unittest.mock import MagicMock, Mock
23

34
import pytest
45

5-
from starknet_py.common import create_sierra_compiled_contract
66
from starknet_py.constants import EIP_2645_PATH_LENGTH
77
from starknet_py.contract import Contract
88
from starknet_py.hash.address import compute_address
99
from starknet_py.hash.selector import get_selector_from_name
1010
from starknet_py.net.account.account import Account
1111
from starknet_py.net.client_models import Call
1212
from starknet_py.net.full_node_client import FullNodeClient
13-
from starknet_py.net.models import DeclareV3, DeployAccountV1, InvokeV1, StarknetChainId
13+
from starknet_py.net.models import DeclareV3, DeployAccountV3, InvokeV3, StarknetChainId
1414
from starknet_py.net.signer.ledger_signer import LedgerSigner
1515
from starknet_py.tests.e2e.fixtures.accounts import mint_token_on_devnet
16-
from starknet_py.tests.e2e.fixtures.constants import (
17-
MAX_RESOURCE_BOUNDS,
18-
STRK_FEE_CONTRACT_ADDRESS,
19-
)
20-
from starknet_py.tests.e2e.fixtures.misc import load_contract
16+
from starknet_py.tests.e2e.fixtures.constants import STRK_FEE_CONTRACT_ADDRESS
2117

2218

2319
# TODO (#1425): Currently Ledger tests are skipped on Windows due to different Speculos setup.
@@ -46,39 +42,12 @@ def test_init_with_invalid_derivation_path():
4642
)
4743

4844

49-
compiled_contract = load_contract("HelloStarknet")["sierra"]
50-
sierra_contract_class = create_sierra_compiled_contract(compiled_contract)
51-
52-
5345
@pytest.mark.parametrize(
5446
"transaction",
5547
[
56-
InvokeV1(
57-
sender_address=0x1,
58-
calldata=[1, 2, 3],
59-
max_fee=10000,
60-
signature=[],
61-
nonce=23,
62-
version=1,
63-
),
64-
DeployAccountV1(
65-
class_hash=0x1,
66-
contract_address_salt=0x2,
67-
constructor_calldata=[1, 2, 3, 4],
68-
max_fee=10000,
69-
signature=[],
70-
nonce=23,
71-
version=1,
72-
),
73-
DeclareV3(
74-
contract_class=sierra_contract_class.convert_to_sierra_contract_class(),
75-
compiled_class_hash=0x1,
76-
sender_address=0x123,
77-
signature=[],
78-
nonce=4,
79-
version=3,
80-
resource_bounds=MAX_RESOURCE_BOUNDS,
81-
),
48+
Mock(spec=InvokeV3, calculate_hash=MagicMock(return_value=111)),
49+
Mock(spec=DeployAccountV3, calculate_hash=MagicMock(return_value=222)),
50+
Mock(spec=DeclareV3, calculate_hash=MagicMock(return_value=333)),
8251
],
8352
)
8453
# TODO (#1425): Currently Ledger tests are skipped on Windows due to different Speculos setup.

starknet_py/tests/unit/signer/test_stark_curve_signer.py

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,18 @@
1+
from unittest.mock import MagicMock, Mock
2+
13
import pytest
24

3-
from starknet_py.common import create_sierra_compiled_contract
45
from starknet_py.net.models import StarknetChainId
5-
from starknet_py.net.models.transaction import DeclareV3, DeployAccountV1, InvokeV1
6+
from starknet_py.net.models.transaction import DeclareV3, DeployAccountV3, InvokeV3
67
from starknet_py.net.signer.stark_curve_signer import KeyPair, StarkCurveSigner
7-
from starknet_py.tests.e2e.fixtures.constants import MAX_RESOURCE_BOUNDS
8-
from starknet_py.tests.e2e.fixtures.misc import load_contract
9-
10-
compiled_contract = load_contract("HelloStarknet")["sierra"]
11-
sierra_contract_class = create_sierra_compiled_contract(compiled_contract)
128

139

1410
@pytest.mark.parametrize(
1511
"transaction",
1612
[
17-
InvokeV1(
18-
sender_address=0x1,
19-
calldata=[1, 2, 3],
20-
max_fee=10000,
21-
signature=[],
22-
nonce=23,
23-
version=1,
24-
),
25-
DeployAccountV1(
26-
class_hash=0x1,
27-
contract_address_salt=0x2,
28-
constructor_calldata=[1, 2, 3, 4],
29-
max_fee=10000,
30-
signature=[],
31-
nonce=23,
32-
version=1,
33-
),
34-
DeclareV3(
35-
contract_class=sierra_contract_class.convert_to_sierra_contract_class(),
36-
compiled_class_hash=0x1,
37-
sender_address=0x123,
38-
signature=[],
39-
nonce=4,
40-
version=3,
41-
resource_bounds=MAX_RESOURCE_BOUNDS,
42-
),
13+
Mock(spec=InvokeV3, calculate_hash=MagicMock(return_value=111)),
14+
Mock(spec=DeployAccountV3, calculate_hash=MagicMock(return_value=222)),
15+
Mock(spec=DeclareV3, calculate_hash=MagicMock(return_value=333)),
4316
],
4417
)
4518
def test_sign_transaction(transaction):

0 commit comments

Comments
 (0)