mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-24 06:25:45 +00:00
added decompose test cases to assets and web
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
This commit is contained in:
parent
be6afa8785
commit
cb32da52c6
@ -82,6 +82,19 @@ def test_compose_valid_transactions(b, user_pk, user_sk, alice, signed_create_tx
|
||||
assert b.validate_transaction(compose_transaction)
|
||||
|
||||
|
||||
def test_decompose_valid_transactions(b, user_pk, user_sk, alice, signed_create_tx, _bdb):
|
||||
from transactions.types.assets.decompose import Decompose
|
||||
|
||||
validated = b.validate_transaction(signed_create_tx)
|
||||
b.store_bulk_transactions([validated])
|
||||
|
||||
inputs = signed_create_tx.to_inputs()
|
||||
assets = [signed_create_tx.id]
|
||||
decompose_transaction = Decompose.generate(inputs=inputs, recipients=[([user_pk], 1)], assets=assets)
|
||||
decompose_transaction.sign([user_sk])
|
||||
assert b.validate_transaction(decompose_transaction)
|
||||
|
||||
|
||||
def test_create_valid_divisible_asset(b, user_pk, user_sk, _bdb):
|
||||
tx = Create.generate([user_pk], [([user_pk], 2)])
|
||||
tx_signed = tx.sign([user_sk])
|
||||
|
||||
@ -16,6 +16,7 @@ from transactions.common import crypto
|
||||
from transactions.common.transaction import Transaction
|
||||
from transactions.types.assets.create import Create
|
||||
from transactions.types.assets.compose import Compose
|
||||
from transactions.types.assets.decompose import Decompose
|
||||
from transactions.types.assets.transfer import Transfer
|
||||
from transactions.common.transaction_mode_types import (
|
||||
BROADCAST_TX_COMMIT,
|
||||
@ -523,3 +524,30 @@ def test_post_transaction_compose_valid(client, b):
|
||||
mode_endpoint = TX_ENDPOINT + "?mode=commit"
|
||||
response = client.post(mode_endpoint, data=json.dumps(signed_tx.to_dict()))
|
||||
assert "202 ACCEPTED" in response.status
|
||||
|
||||
|
||||
@pytest.mark.abci
|
||||
def test_post_transaction_decompose_valid(client, b):
|
||||
mode = ("?mode=commit", BROADCAST_TX_COMMIT)
|
||||
alice = generate_key_pair()
|
||||
tx = Create.generate(
|
||||
[alice.public_key],
|
||||
[([alice.public_key], 1)],
|
||||
assets=[{"data": "QmW5GVMW98D3mktSDfWHS8nX2UiCd8gP1uCiujnFX4yK97"}],
|
||||
).sign([alice.private_key])
|
||||
mode_endpoint = TX_ENDPOINT + mode[0]
|
||||
response = client.post(mode_endpoint, data=json.dumps(tx.to_dict()))
|
||||
assert "202 ACCEPTED" in response.status
|
||||
tx_obj = tx
|
||||
tx = tx.to_dict()
|
||||
inputs_ = tx_obj.to_inputs()
|
||||
|
||||
assets_ = [tx["id"]]
|
||||
decompose_transaction = Decompose.generate(inputs=inputs_, recipients=[([alice.public_key], 1)], assets=assets_)
|
||||
signed_tx = decompose_transaction.sign([alice.private_key])
|
||||
validated_decompose = b.validate_transaction(signed_tx)
|
||||
mode_endpoint = TX_ENDPOINT + "?mode=commit"
|
||||
response = client.post(mode_endpoint, data=json.dumps(signed_tx.to_dict()))
|
||||
assert "202 ACCEPTED" in response.status
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user