Skip to content

Commit 7100900

Browse files
This PR refactors several address registration and multisig tests to align with the new
1 parent 6e42f32 commit 7100900

File tree

2 files changed

+27
-31
lines changed

2 files changed

+27
-31
lines changed

cardano_node_tests/tests/common.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@
3939
),
4040
)
4141

42+
SKIPIF_BUILD_EST = pytest.mark.skipif(
43+
issues.cli_1199.is_blocked(),
44+
reason="BUILD_EST unusable due to cardano-cli bug #1199 (not yet fixed)",
45+
)
46+
4247
SKIPIF_MISMATCHED_ERAS = pytest.mark.skipif(
4348
VERSIONS.transaction_era != VERSIONS.cluster_era,
4449
reason="transaction era must be the same as node era",
@@ -101,6 +106,21 @@
101106
),
102107
)
103108

109+
PARAM_BUILD_METHOD_NO_EST = pytest.mark.parametrize(
110+
"build_method",
111+
(
112+
clusterlib_utils.BuildMethods.BUILD_RAW,
113+
pytest.param(
114+
clusterlib_utils.BuildMethods.BUILD,
115+
marks=SKIPIF_BUILD_UNUSABLE,
116+
),
117+
pytest.param(
118+
clusterlib_utils.BuildMethods.BUILD_EST,
119+
marks=SKIPIF_BUILD_EST,
120+
),
121+
),
122+
)
123+
104124
PARAM_OFFLINE_BUILD_METHOD = pytest.mark.parametrize(
105125
"offline_build_method",
106126
(

cardano_node_tests/tests/test_addr_registration.py

Lines changed: 7 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class TestRegisterAddr:
5555
"""Tests for stake address registration and deregistration."""
5656

5757
@allure.link(helpers.get_vcs_link())
58-
@common.PARAM_BUILD_METHOD
58+
@common.PARAM_BUILD_METHOD_NO_EST
5959
@pytest.mark.smoke
6060
@pytest.mark.testnets
6161
@pytest.mark.dbsync
@@ -75,12 +75,6 @@ def test_deregister_registered(
7575
* check that the balance for source address was correctly updated
7676
* (optional) check records in db-sync
7777
"""
78-
79-
# skip-known broken path
80-
if build_method == clusterlib_utils.BuildMethods.BUILD_EST:
81-
pytest.skip("Cannot use BUILD_EST for stake address cert txs (cardano-cli #1199)")
82-
83-
8478
temp_template = common.get_test_id(cluster)
8579

8680
user_registered = pool_users_disposable[0]
@@ -148,9 +142,7 @@ def test_deregister_registered(
148142
), f"Incorrect balance for source address `{user_payment.address}`"
149143

150144
# Check records in db-sync
151-
tx_db_record_reg = dbsync_utils.check_tx(
152-
cluster_obj=cluster, tx_raw_output=tx_output_reg
153-
)
145+
tx_db_record_reg = dbsync_utils.check_tx(cluster_obj=cluster, tx_raw_output=tx_output_reg)
154146
if tx_db_record_reg:
155147
assert user_registered.stake.address in tx_db_record_reg.stake_registration
156148

@@ -160,10 +152,8 @@ def test_deregister_registered(
160152
if tx_db_record_dereg:
161153
assert user_registered.stake.address in tx_db_record_dereg.stake_deregistration
162154

163-
164-
165155
@allure.link(helpers.get_vcs_link())
166-
@common.PARAM_BUILD_METHOD
156+
@common.PARAM_BUILD_METHOD_NO_EST
167157
@pytest.mark.smoke
168158
@pytest.mark.testnets
169159
@pytest.mark.dbsync
@@ -174,12 +164,6 @@ def test_addr_registration_deregistration(
174164
pool_users_disposable: list[clusterlib.PoolUser],
175165
build_method: str,
176166
):
177-
178-
# skip known-broken build_estimate
179-
if build_method == clusterlib_utils.BuildMethods.BUILD_EST:
180-
pytest.skip("Cannot use BUILD_EST for stake address cert txs (cardano-cli #1199)")
181-
182-
183167
"""Submit registration and deregistration certificates in single TX.
184168
185169
* create stake address registration cert
@@ -348,7 +332,7 @@ def test_addr_registration_certificate_order(
348332
assert user_registered.stake.address in tx_db_record.stake_deregistration
349333

350334
@allure.link(helpers.get_vcs_link())
351-
@common.PARAM_BUILD_METHOD
335+
@common.PARAM_BUILD_METHOD_NO_EST
352336
@pytest.mark.parametrize("key_type", ("stake", "payment"))
353337
@pytest.mark.smoke
354338
@pytest.mark.testnets
@@ -445,9 +429,6 @@ def _submit_tx(
445429
fee=fee,
446430
)
447431

448-
elif build_method == clusterlib_utils.BuildMethods.BUILD_EST:
449-
pytest.skip("Cannot use BUILD_EST for multisig stake cert txs (cardano-cli #1199)")
450-
451432
# Create witness file for each key
452433
witness_files = [
453434
cluster.g_transaction.witness_tx(
@@ -582,7 +563,7 @@ def test_register_addr_with_wrong_key(
582563
assert "MissingVKeyWitnessesUTXOW" in err_msg, err_msg
583564

584565
@allure.link(helpers.get_vcs_link())
585-
@common.PARAM_BUILD_METHOD
566+
@common.PARAM_BUILD_METHOD_NO_EST
586567
@pytest.mark.smoke
587568
@pytest.mark.testnets
588569
def test_deregister_not_registered_addr(
@@ -611,6 +592,7 @@ def test_deregister_not_registered_addr(
611592

612593
with pytest.raises(clusterlib.CLIError) as excinfo:
613594
if build_method == clusterlib_utils.BuildMethods.BUILD_RAW:
595+
614596
def _build_dereg() -> clusterlib.TxRawOutput:
615597
return cluster.g_transaction.build_tx(
616598
src_address=user_payment.address,
@@ -633,14 +615,12 @@ def _build_dereg() -> clusterlib.TxRawOutput:
633615
tx_name=f"{temp_template}_dereg_fail",
634616
tx_files=tx_files,
635617
)
636-
elif build_method == clusterlib_utils.BuildMethods.BUILD_EST:
637-
pytest.skip("Cannot use BUILD_EST for stake address cert txs (cardano-cli #1199)")
638618

639619
err_msg = str(excinfo.value)
640620
assert "StakeKeyNotRegisteredDELEG" in err_msg, err_msg
641621

642622
@allure.link(helpers.get_vcs_link())
643-
@common.PARAM_BUILD_METHOD
623+
@common.PARAM_BUILD_METHOD_NO_EST
644624
@pytest.mark.parametrize("issue", ("missing_script", "missing_skey"))
645625
@pytest.mark.smoke
646626
@pytest.mark.testnets
@@ -664,10 +644,6 @@ def test_incomplete_multisig(
664644
* Incrementally sign the Tx and submit the registration certificate
665645
* Check the expected failure
666646
"""
667-
668-
if build_method == clusterlib_utils.BuildMethods.BUILD_EST:
669-
pytest.skip("Cannot use BUILD_EST for multisig stake cert txs (cardano-cli #1199)")
670-
671647
temp_template = common.get_test_id(cluster)
672648
payment_addr = pool_users[0].payment
673649

0 commit comments

Comments
 (0)