mirror of
https://github.com/planetmint/planetmint.git
synced 2025-06-09 07:36:38 +00:00
fixed delete_transactions query
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
This commit is contained in:
parent
e627eb899d
commit
6b57b1a4f0
@ -337,6 +337,7 @@ def delete_transactions(connection, txn_ids: list):
|
|||||||
_outputs = get_outputs_by_tx_id(connection, _id)
|
_outputs = get_outputs_by_tx_id(connection, _id)
|
||||||
for x in range(len(_outputs)):
|
for x in range(len(_outputs)):
|
||||||
connection.connect().call("delete_output", (_outputs[x].id))
|
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:
|
for _id in txn_ids:
|
||||||
connection.connect().delete(TARANT_TABLE_TRANSACTION, _id)
|
connection.connect().delete(TARANT_TABLE_TRANSACTION, _id)
|
||||||
connection.connect().delete(TARANT_TABLE_GOVERNANCE, _id)
|
connection.connect().delete(TARANT_TABLE_GOVERNANCE, _id)
|
||||||
|
@ -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):
|
def test_outputs_query_key_order(b, user_pk, user_sk, user2_pk, test_validator):
|
||||||
from planetmint import backend
|
|
||||||
from planetmint.backend.connection import Connection
|
|
||||||
from planetmint.backend import query
|
|
||||||
|
|
||||||
tx1 = Create.generate([user_pk], [([user_pk], 3), ([user_pk], 2), ([user_pk], 1)]).sign([user_sk])
|
tx1 = Create.generate([user_pk], [([user_pk], 3), ([user_pk], 2), ([user_pk], 1)]).sign([user_sk])
|
||||||
b.models.store_bulk_transactions([tx1])
|
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])
|
tx2 = Transfer.generate([inputs[1]], [([user2_pk], 2)], [tx1.id]).sign([user_sk])
|
||||||
assert test_validator.validate_transaction(tx2)
|
assert test_validator.validate_transaction(tx2)
|
||||||
|
|
||||||
tx2_dict = tx2.to_dict()
|
b.models.store_bulk_transactions([tx2])
|
||||||
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])
|
|
||||||
|
|
||||||
outputs = test_models.get_outputs_filtered(user_pk, spent=False)
|
outputs = b.models.get_outputs_filtered(user_pk, spent=False)
|
||||||
assert len(outputs) == 2
|
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
|
assert len(outputs) == 1
|
||||||
|
|
||||||
# clean the transaction, metdata and asset collection
|
# clean the transaction, metdata and asset collection
|
||||||
connection = Connection()
|
b.models.delete_transactions([tx1.id, tx2.id])
|
||||||
query.delete_transactions(test_models.connection, txn_ids=[tx1.id, tx2.id])
|
|
||||||
|
|
||||||
b.models.store_bulk_transactions([tx1])
|
b.models.store_bulk_transactions([tx1, tx2])
|
||||||
tx2_dict = tx2.to_dict()
|
|
||||||
tx2_dict["inputs"][0]["fulfills"] = {
|
|
||||||
"output_index": fulfills["output_index"],
|
|
||||||
"transaction_id": fulfills["transaction_id"],
|
|
||||||
}
|
|
||||||
|
|
||||||
backend.query.store_transactions(test_models.connection, [tx2_dict])
|
outputs = b.models.get_outputs_filtered(user_pk, spent=False)
|
||||||
outputs = test_models.get_outputs_filtered(user_pk, spent=False)
|
|
||||||
assert len(outputs) == 2
|
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
|
assert len(outputs) == 1
|
||||||
|
@ -10,7 +10,6 @@ import random
|
|||||||
|
|
||||||
from functools import singledispatch
|
from functools import singledispatch
|
||||||
|
|
||||||
from planetmint import backend
|
|
||||||
from planetmint.backend.localmongodb.connection import LocalMongoDBConnection
|
from planetmint.backend.localmongodb.connection import LocalMongoDBConnection
|
||||||
from planetmint.backend.tarantool.sync_io.connection import TarantoolDBConnection
|
from planetmint.backend.tarantool.sync_io.connection import TarantoolDBConnection
|
||||||
from planetmint.backend.schema import TABLES
|
from planetmint.backend.schema import TABLES
|
||||||
|
Loading…
x
Reference in New Issue
Block a user