Skip to content

Commit 7300d1d

Browse files
authored
Merge pull request #2835 from IntersectMBO/common_get_payment_addr
feat: refactor get_payment_addr function
2 parents 9443b88 + 45b25c6 commit 7300d1d

File tree

9 files changed

+74
-166
lines changed

9 files changed

+74
-166
lines changed

cardano_node_tests/tests/common.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,3 +324,40 @@ def get_conway_address_deposit(cluster_obj: clusterlib.ClusterLib) -> int:
324324
stake_deposit_amt = cluster_obj.g_query.get_address_deposit()
325325

326326
return stake_deposit_amt
327+
328+
329+
def get_payment_addr(
330+
name_template: str,
331+
cluster_manager: cluster_management.ClusterManager,
332+
cluster_obj: clusterlib.ClusterLib,
333+
caching_key: str = "",
334+
amount: int | None = None,
335+
) -> clusterlib.AddressRecord:
336+
"""Create new payment address."""
337+
338+
def _create_addr() -> clusterlib.AddressRecord:
339+
addr = clusterlib_utils.create_payment_addr_records(
340+
f"{name_template}_fund_addr",
341+
cluster_obj=cluster_obj,
342+
)[0]
343+
return addr
344+
345+
if caching_key:
346+
with cluster_manager.cache_fixture(key=caching_key) as fixture_cache:
347+
if fixture_cache.value:
348+
return fixture_cache.value # type: ignore
349+
350+
addr = _create_addr()
351+
fixture_cache.value = addr
352+
else:
353+
addr = _create_addr()
354+
355+
# Fund source address
356+
clusterlib_utils.fund_from_faucet(
357+
addr,
358+
cluster_obj=cluster_obj,
359+
all_faucets=cluster_manager.cache.addrs_data,
360+
amount=amount,
361+
)
362+
363+
return addr

cardano_node_tests/tests/test_chain_transactions.py

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
from cardano_node_tests.cluster_management import cluster_management
1212
from cardano_node_tests.tests import common
13-
from cardano_node_tests.utils import clusterlib_utils
1413
from cardano_node_tests.utils import configuration
1514
from cardano_node_tests.utils import dbsync_utils
1615
from cardano_node_tests.utils import helpers
@@ -19,29 +18,6 @@
1918
LOGGER = logging.getLogger(__name__)
2019

2120

22-
def get_payment_addr(
23-
cluster_manager: cluster_management.ClusterManager,
24-
cluster_obj: clusterlib.ClusterLib,
25-
) -> clusterlib.AddressRecord:
26-
"""Create new payment address."""
27-
amount = 205_000_000
28-
29-
addr = clusterlib_utils.create_payment_addr_records(
30-
f"chain_tx_addr_{clusterlib.get_rand_str(4)}_ci{cluster_manager.cluster_instance_num}",
31-
cluster_obj=cluster_obj,
32-
)[0]
33-
34-
# Fund source address
35-
clusterlib_utils.fund_from_faucet(
36-
addr,
37-
cluster_obj=cluster_obj,
38-
all_faucets=cluster_manager.cache.addrs_data,
39-
amount=amount,
40-
)
41-
42-
return addr
43-
44-
4521
def _gen_signed_tx(
4622
cluster_obj: clusterlib.ClusterLib,
4723
payment_addr: clusterlib.AddressRecord,
@@ -151,7 +127,12 @@ def test_tx_chaining(
151127
next_try = False
152128
tx_raw_outputs.clear()
153129

154-
payment_addr = get_payment_addr(cluster_manager=cluster_manager, cluster_obj=cluster)
130+
payment_addr = common.get_payment_addr(
131+
name_template=temp_template,
132+
cluster_manager=cluster_manager,
133+
cluster_obj=cluster,
134+
amount=205_000_000,
135+
)
155136
init_utxo = cluster.g_query.get_utxo(address=payment_addr.address)[0]
156137
assert (
157138
init_utxo.amount - (fee * iterations) >= min_utxo_value

cardano_node_tests/tests/test_governance.py

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,12 @@ def payment_addr(
4747
cluster: clusterlib.ClusterLib,
4848
) -> clusterlib.AddressRecord:
4949
"""Create new payment address."""
50-
amount = 200_000_000
51-
52-
addr = clusterlib_utils.create_payment_addr_records(
53-
f"chain_tx_addr_ci{cluster_manager.cluster_instance_num}",
54-
cluster_obj=cluster,
55-
)[0]
56-
57-
# Fund source address
58-
clusterlib_utils.fund_from_faucet(
59-
addr,
50+
addr = common.get_payment_addr(
51+
name_template=common.get_test_id(cluster),
52+
cluster_manager=cluster_manager,
6053
cluster_obj=cluster,
61-
all_faucets=cluster_manager.cache.addrs_data,
62-
amount=amount,
54+
amount=200_000_000,
6355
)
64-
6556
return addr
6657

6758
@allure.link(helpers.get_vcs_link())

cardano_node_tests/tests/test_tx_metadata.py

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,12 @@ def payment_addr(
3737
cluster: clusterlib.ClusterLib,
3838
) -> clusterlib.AddressRecord:
3939
"""Create new payment address."""
40-
with cluster_manager.cache_fixture() as fixture_cache:
41-
if fixture_cache.value:
42-
return fixture_cache.value # type: ignore
43-
44-
addr = clusterlib_utils.create_payment_addr_records(
45-
f"addr_test_metadata_ci{cluster_manager.cluster_instance_num}_0",
46-
cluster_obj=cluster,
47-
)[0]
48-
fixture_cache.value = addr
49-
50-
# Fund source addresses
51-
clusterlib_utils.fund_from_faucet(
52-
addr,
40+
addr = common.get_payment_addr(
41+
name_template=common.get_test_id(cluster),
42+
cluster_manager=cluster_manager,
5343
cluster_obj=cluster,
54-
all_faucets=cluster_manager.cache.addrs_data,
44+
caching_key=helpers.get_current_line_str(),
5545
)
56-
5746
return addr
5847

5948
@allure.link(helpers.get_vcs_link())

cardano_node_tests/tests/test_update_proposals.py

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -49,24 +49,12 @@ def payment_addr(
4949
) -> clusterlib.AddressRecord:
5050
"""Create new payment address."""
5151
cluster = cluster_update_proposal
52-
53-
with cluster_manager.cache_fixture() as fixture_cache:
54-
if fixture_cache.value:
55-
return fixture_cache.value # type: ignore
56-
57-
addr = clusterlib_utils.create_payment_addr_records(
58-
f"addr_test_update_proposal_ci{cluster_manager.cluster_instance_num}_0",
59-
cluster_obj=cluster,
60-
)[0]
61-
fixture_cache.value = addr
62-
63-
# Fund source addresses
64-
clusterlib_utils.fund_from_faucet(
65-
addr,
52+
addr = common.get_payment_addr(
53+
name_template=common.get_test_id(cluster),
54+
cluster_manager=cluster_manager,
6655
cluster_obj=cluster,
67-
all_faucets=cluster_manager.cache.addrs_data,
56+
caching_key=helpers.get_current_line_str(),
6857
)
69-
7058
return addr
7159

7260
@allure.link(helpers.get_vcs_link())
@@ -376,23 +364,12 @@ def payment_addr(
376364
cluster: clusterlib.ClusterLib,
377365
) -> clusterlib.AddressRecord:
378366
"""Create new payment address."""
379-
with cluster_manager.cache_fixture() as fixture_cache:
380-
if fixture_cache.value:
381-
return fixture_cache.value # type: ignore
382-
383-
addr = clusterlib_utils.create_payment_addr_records(
384-
f"addr_test_neg_update_proposal_ci{cluster_manager.cluster_instance_num}_0",
385-
cluster_obj=cluster,
386-
)[0]
387-
fixture_cache.value = addr
388-
389-
# Fund source addresses
390-
clusterlib_utils.fund_from_faucet(
391-
addr,
367+
addr = common.get_payment_addr(
368+
name_template=common.get_test_id(cluster),
369+
cluster_manager=cluster_manager,
392370
cluster_obj=cluster,
393-
all_faucets=cluster_manager.cache.addrs_data,
371+
caching_key=helpers.get_current_line_str(),
394372
)
395-
396373
return addr
397374

398375
@allure.link(helpers.get_vcs_link())

cardano_node_tests/tests/tests_conway/test_drep.py

Lines changed: 4 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -58,43 +58,6 @@ class DRepRatRecord:
5858
ratified: bool
5959

6060

61-
def get_payment_addr(
62-
name_template: str,
63-
cluster_manager: cluster_management.ClusterManager,
64-
cluster_obj: clusterlib.ClusterLib,
65-
caching_key: str = "",
66-
amount: int | None = None,
67-
) -> clusterlib.AddressRecord:
68-
"""Create new payment address."""
69-
70-
def _create_addr() -> clusterlib.AddressRecord:
71-
addr = clusterlib_utils.create_payment_addr_records(
72-
f"{name_template}_fund_addr",
73-
cluster_obj=cluster_obj,
74-
)[0]
75-
return addr
76-
77-
if caching_key:
78-
with cluster_manager.cache_fixture(key=caching_key) as fixture_cache:
79-
if fixture_cache.value:
80-
return fixture_cache.value # type: ignore
81-
82-
addr = _create_addr()
83-
fixture_cache.value = addr
84-
else:
85-
addr = _create_addr()
86-
87-
# Fund source address
88-
clusterlib_utils.fund_from_faucet(
89-
addr,
90-
cluster_obj=cluster_obj,
91-
all_faucets=cluster_manager.cache.addrs_data,
92-
amount=amount,
93-
)
94-
95-
return addr
96-
97-
9861
def get_pool_user(
9962
name_template: str,
10063
cluster_manager: cluster_management.ClusterManager,
@@ -208,7 +171,7 @@ def payment_addr(
208171
key = ""
209172

210173
test_id = common.get_test_id(cluster)
211-
return get_payment_addr(
174+
return common.get_payment_addr(
212175
name_template=test_id,
213176
cluster_manager=cluster_manager,
214177
cluster_obj=cluster,
@@ -254,7 +217,7 @@ def payment_addr_wpr(
254217
cluster, __ = cluster_and_pool_and_rewards
255218
test_id = common.get_test_id(cluster)
256219
key = helpers.get_current_line_str()
257-
return get_payment_addr(
220+
return common.get_payment_addr(
258221
name_template=test_id, cluster_manager=cluster_manager, cluster_obj=cluster, caching_key=key
259222
)
260223

@@ -297,7 +260,7 @@ def payment_addr_rewards(
297260
) -> clusterlib.AddressRecord:
298261
test_id = common.get_test_id(cluster_rewards)
299262
key = helpers.get_current_line_str()
300-
return get_payment_addr(
263+
return common.get_payment_addr(
301264
name_template=test_id,
302265
cluster_manager=cluster_manager,
303266
cluster_obj=cluster_rewards,
@@ -997,7 +960,7 @@ def test_drep_no_multiple_registration(
997960
)
998961
drep_metadata_url = web.publish(file_path=drep_metadata_file)
999962

1000-
payment_addr = get_payment_addr(
963+
payment_addr = common.get_payment_addr(
1001964
name_template=temp_template,
1002965
cluster_manager=cluster_manager,
1003966
cluster_obj=cluster,

cardano_node_tests/tests/tests_conway/test_guardrails.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -85,19 +85,12 @@ def payment_addr(
8585
) -> clusterlib.AddressRecord:
8686
"""Create new payment address."""
8787
cluster, __ = cluster_guardrails
88-
addr = clusterlib_utils.create_payment_addr_records(
89-
f"payment_addr_{cluster_manager.cluster_instance_num}",
90-
cluster_obj=cluster,
91-
)[0]
92-
93-
# Fund source address
94-
clusterlib_utils.fund_from_faucet(
95-
addr,
88+
addr = common.get_payment_addr(
89+
name_template=common.get_test_id(cluster),
90+
cluster_manager=cluster_manager,
9691
cluster_obj=cluster,
97-
all_faucets=cluster_manager.cache.addrs_data,
9892
amount=10_000_000_000,
9993
)
100-
10194
return addr
10295

10396

cardano_node_tests/tests/tests_conway/test_pparam_update.py

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1388,23 +1388,12 @@ def payment_addr(
13881388
cluster: clusterlib.ClusterLib,
13891389
) -> clusterlib.AddressRecord:
13901390
"""Create new payment address."""
1391-
with cluster_manager.cache_fixture() as fixture_cache:
1392-
if fixture_cache.value:
1393-
return fixture_cache.value # type: ignore
1394-
1395-
addr = clusterlib_utils.create_payment_addr_records(
1396-
f"addr_test_conway_update_proposal_ci{cluster_manager.cluster_instance_num}_0",
1397-
cluster_obj=cluster,
1398-
)[0]
1399-
fixture_cache.value = addr
1400-
1401-
# Fund source addresses
1402-
clusterlib_utils.fund_from_faucet(
1403-
addr,
1391+
addr = common.get_payment_addr(
1392+
name_template=common.get_test_id(cluster),
1393+
cluster_manager=cluster_manager,
14041394
cluster_obj=cluster,
1405-
all_faucets=cluster_manager.cache.addrs_data,
1395+
caching_key=helpers.get_current_line_str(),
14061396
)
1407-
14081397
return addr
14091398

14101399
@allure.link(helpers.get_vcs_link())

cardano_node_tests/tests/tests_conway/test_treasury_withdrawals.py

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -726,25 +726,13 @@ def payment_addr(
726726
cluster: clusterlib.ClusterLib,
727727
) -> clusterlib.AddressRecord:
728728
"""Create new payment address."""
729-
test_id = common.get_test_id(cluster)
730-
with cluster_manager.cache_fixture() as fixture_cache:
731-
if fixture_cache.value:
732-
return fixture_cache.value # type: ignore
733-
734-
addr = clusterlib_utils.create_payment_addr_records(
735-
f"{test_id}_payment_addr_0",
736-
cluster_obj=cluster,
737-
)[0]
738-
fixture_cache.value = addr
739-
740-
# Fund source addresses
741-
clusterlib_utils.fund_from_faucet(
742-
addr,
729+
addr = common.get_payment_addr(
730+
name_template=common.get_test_id(cluster),
731+
cluster_manager=cluster_manager,
743732
cluster_obj=cluster,
744-
all_faucets=cluster_manager.cache.addrs_data,
733+
caching_key=helpers.get_current_line_str(),
745734
amount=4_000_000,
746735
)
747-
748736
return addr
749737

750738
@allure.link(helpers.get_vcs_link())

0 commit comments

Comments
 (0)