From 6b57b1a4f0f12a1a30bd80bf8b6704f2c3329c55 Mon Sep 17 00:00:00 2001 From: Lorenz Herzberger Date: Fri, 7 Apr 2023 16:38:47 +0200 Subject: [PATCH] fixed delete_transactions query Signed-off-by: Lorenz Herzberger --- planetmint/backend/tarantool/sync_io/query.py | 1 + tests/tendermint/test_fastquery.py | 33 +++++-------------- tests/utils.py | 1 - 3 files changed, 9 insertions(+), 26 deletions(-) diff --git a/planetmint/backend/tarantool/sync_io/query.py b/planetmint/backend/tarantool/sync_io/query.py index e7ccc93..7ba2da5 100644 --- a/planetmint/backend/tarantool/sync_io/query.py +++ b/planetmint/backend/tarantool/sync_io/query.py @@ -337,6 +337,7 @@ def delete_transactions(connection, txn_ids: list): _outputs = get_outputs_by_tx_id(connection, _id) for x in range(len(_outputs)): connection.connect().call("delete_output", (_outputs[x].id)) + connection.connect().delete(TARANT_TABLE_UTXOS, (_id,_outputs[x].index), index="utxo_by_transaction_id_and_output_index") for _id in txn_ids: connection.connect().delete(TARANT_TABLE_TRANSACTION, _id) connection.connect().delete(TARANT_TABLE_GOVERNANCE, _id) diff --git a/tests/tendermint/test_fastquery.py b/tests/tendermint/test_fastquery.py index fadd471..ad4d6bb 100644 --- a/tests/tendermint/test_fastquery.py +++ b/tests/tendermint/test_fastquery.py @@ -89,11 +89,7 @@ def test_filter_unspent_outputs(b, user_pk, user_sk, test_models): } -def test_outputs_query_key_order(b, user_pk, user_sk, user2_pk, user2_sk, test_models, test_validator): - from planetmint import backend - from planetmint.backend.connection import Connection - from planetmint.backend import query - +def test_outputs_query_key_order(b, user_pk, user_sk, user2_pk, test_validator): tx1 = Create.generate([user_pk], [([user_pk], 3), ([user_pk], 2), ([user_pk], 1)]).sign([user_sk]) b.models.store_bulk_transactions([tx1]) @@ -101,34 +97,21 @@ def test_outputs_query_key_order(b, user_pk, user_sk, user2_pk, user2_sk, test_m tx2 = Transfer.generate([inputs[1]], [([user2_pk], 2)], [tx1.id]).sign([user_sk]) assert test_validator.validate_transaction(tx2) - tx2_dict = tx2.to_dict() - fulfills = tx2_dict["inputs"][0]["fulfills"] - tx2_dict["inputs"][0]["fulfills"] = { - "transaction_id": fulfills["transaction_id"], - "output_index": fulfills["output_index"], - } - backend.query.store_transactions(test_models.connection, [tx2_dict]) + b.models.store_bulk_transactions([tx2]) - outputs = test_models.get_outputs_filtered(user_pk, spent=False) + outputs = b.models.get_outputs_filtered(user_pk, spent=False) assert len(outputs) == 2 - outputs = test_models.get_outputs_filtered(user2_pk, spent=False) + outputs = b.models.get_outputs_filtered(user2_pk, spent=False) assert len(outputs) == 1 # clean the transaction, metdata and asset collection - connection = Connection() - query.delete_transactions(test_models.connection, txn_ids=[tx1.id, tx2.id]) + b.models.delete_transactions([tx1.id, tx2.id]) - b.models.store_bulk_transactions([tx1]) - tx2_dict = tx2.to_dict() - tx2_dict["inputs"][0]["fulfills"] = { - "output_index": fulfills["output_index"], - "transaction_id": fulfills["transaction_id"], - } + b.models.store_bulk_transactions([tx1, tx2]) - backend.query.store_transactions(test_models.connection, [tx2_dict]) - outputs = test_models.get_outputs_filtered(user_pk, spent=False) + outputs = b.models.get_outputs_filtered(user_pk, spent=False) assert len(outputs) == 2 - outputs = test_models.get_outputs_filtered(user2_pk, spent=False) + outputs = b.models.get_outputs_filtered(user2_pk, spent=False) assert len(outputs) == 1 diff --git a/tests/utils.py b/tests/utils.py index edf0d51..6289b14 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -10,7 +10,6 @@ import random from functools import singledispatch -from planetmint import backend from planetmint.backend.localmongodb.connection import LocalMongoDBConnection from planetmint.backend.tarantool.sync_io.connection import TarantoolDBConnection from planetmint.backend.schema import TABLES