Skip to content

Commit a455c4b

Browse files
committed
transaction body layer
1 parent 5110f14 commit a455c4b

File tree

2 files changed

+19
-27
lines changed

2 files changed

+19
-27
lines changed

tests/conftest.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,4 @@ def mock_account_ids():
1212
node_account_id = AccountId(0, 0, 3)
1313
token_id_1 = TokenId(1, 1, 1)
1414
token_id_2 = TokenId(2, 2, 2)
15-
return account_id_sender, account_id_recipient, node_account_id, token_id_1, token_id_2
16-
17-
@pytest.fixture
18-
def admin_key():
19-
admin_key = PrivateKey.generate()
20-
21-
admin_public_key_bytes = admin_key.public_key().public_bytes(
22-
encoding=serialization.Encoding.Raw,
23-
format=serialization.PublicFormat.Raw
24-
)
25-
26-
return admin_key, admin_public_key_bytes
15+
return account_id_sender, account_id_recipient, node_account_id, token_id_1, token_id_2

tests/test_token_create_transaction.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,22 @@ def test_build_transaction_body_without_admin_key(mock_account_ids):
4242
assert transaction_body.tokenCreation.initialSupply == 1000
4343
assert not transaction_body.tokenCreation.HasField("adminKey")
4444

45-
def test_build_transaction_body(mock_account_ids, admin_key):
45+
def test_build_transaction_body(mock_account_ids):
4646
"""Test building a token creation transaction body with valid values."""
4747
treasury_account, _, node_account_id, _, _ = mock_account_ids
4848

49+
private_key_admin = MagicMock()
50+
private_key_admin.sign.return_value = b'admin_signature'
51+
private_key_admin.public_key().public_bytes.return_value = b'admin_public_key'
52+
4953
token_tx = TokenCreateTransaction()
5054
token_tx.set_token_name("MyToken")
5155
token_tx.set_token_symbol("MTK")
5256
token_tx.set_decimals(2)
5357
token_tx.set_initial_supply(1000)
5458
token_tx.set_treasury_account_id(treasury_account)
5559
token_tx.transaction_id = generate_transaction_id(treasury_account)
56-
token_tx.set_admin_key(admin_key[0])
60+
token_tx.set_admin_key(private_key_admin)
5761
token_tx.node_account_id = node_account_id
5862

5963
transaction_body = token_tx.build_transaction_body()
@@ -62,7 +66,7 @@ def test_build_transaction_body(mock_account_ids, admin_key):
6266
assert transaction_body.tokenCreation.symbol == "MTK"
6367
assert transaction_body.tokenCreation.decimals == 2
6468
assert transaction_body.tokenCreation.initialSupply == 1000
65-
assert transaction_body.tokenCreation.adminKey.ed25519 == admin_key[1]
69+
assert transaction_body.tokenCreation.adminKey.ed25519 == b'admin_public_key'
6670

6771
def test_missing_fields():
6872
"""Test that building a transaction without required fields raises a ValueError."""
@@ -131,35 +135,34 @@ def test_to_proto_without_admin_key(mock_account_ids):
131135

132136
assert not transaction_body.tokenCreation.HasField("adminKey")
133137

134-
def test_to_proto(mock_account_ids, admin_key):
138+
def test_to_proto(mock_account_ids):
135139
"""Test converting the token creation transaction to protobuf format after signing."""
136140
treasury_account, _, node_account_id, _, _ = mock_account_ids
137141

142+
private_key = MagicMock()
143+
private_key.sign.return_value = b'signature'
144+
private_key.public_key().public_bytes.return_value = b'public_key'
145+
146+
private_key_admin = MagicMock()
147+
private_key_admin.sign.return_value = b'admin_signature'
148+
private_key_admin.public_key().public_bytes.return_value = b'admin_public_key'
149+
138150
token_tx = TokenCreateTransaction()
139151
token_tx.set_token_name("MyToken")
140152
token_tx.set_token_symbol("MTK")
141153
token_tx.set_decimals(2)
142154
token_tx.set_initial_supply(1000)
143155
token_tx.set_treasury_account_id(treasury_account)
144-
token_tx.set_admin_key(admin_key[0])
156+
token_tx.set_admin_key(private_key_admin)
145157
token_tx.transaction_id = generate_transaction_id(treasury_account)
146158
token_tx.node_account_id = node_account_id
147159

148-
private_key = MagicMock()
149-
private_key.sign.return_value = b'signature'
150-
private_key.public_key().public_bytes.return_value = b'public_key'
151-
152-
private_key_admin = MagicMock()
153-
private_key_admin.sign.return_value = b'admin_signature'
154-
private_key_admin.public_key().public_bytes.return_value = b'admin_public_key'
155-
156160
token_tx.sign(private_key)
157161
token_tx.sign(private_key_admin)
158162
proto = token_tx.to_proto()
159163

160164
assert len(proto.signedTransactionBytes) > 0
161165

162166
transaction = transaction_pb2.Transaction.FromString(proto.signedTransactionBytes)
163-
transaction_body = transaction_body_pb2.TransactionBody.FromString(transaction.bodyBytes)
164167

165-
assert transaction_body.tokenCreation.adminKey.ed25519 == admin_key[1]
168+
assert transaction.body.tokenCreation.adminKey.ed25519 == b'admin_public_key'

0 commit comments

Comments
 (0)