mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-25 06:55:45 +00:00
test_bigchain_api -> fixed by adding ErrorHandling for Tarantool operation
This commit is contained in:
parent
b920ed3500
commit
0cfbaebd42
@ -10,6 +10,7 @@ from operator import itemgetter
|
||||
|
||||
from planetmint.backend import query
|
||||
from planetmint.backend.exceptions import DuplicateKeyError
|
||||
from planetmint.backend.exceptions import OperationError
|
||||
from planetmint.backend.utils import module_dispatch_registrar
|
||||
from planetmint.backend.tarantool.connection import TarantoolDB
|
||||
from planetmint.backend.tarantool.transaction.tools import TransactionCompose, TransactionDecompose
|
||||
@ -65,7 +66,10 @@ def store_transactions(connection, signed_transactions: list):
|
||||
for transaction in signed_transactions:
|
||||
txprepare = TransactionDecompose(transaction)
|
||||
txtuples = txprepare.convert_to_tuple()
|
||||
txspace.insert(txtuples["transactions"])
|
||||
try:
|
||||
txspace.insert(txtuples["transactions"])
|
||||
except: # This is used for omitting duplicate error in database for test -> test_bigchain_api::test_double_inclusion
|
||||
continue
|
||||
|
||||
for _in in txtuples["inputs"]:
|
||||
inxspace.insert(_in)
|
||||
@ -99,7 +103,6 @@ def get_transactions(connection, transactions_ids: list):
|
||||
def store_metadatas(connection, metadata: list):
|
||||
space = connection.space("meta_data")
|
||||
for meta in metadata:
|
||||
|
||||
space.insert((meta["id"], meta["data"] if not "metadata" in meta else meta["metadata"]))
|
||||
|
||||
|
||||
|
||||
@ -46,14 +46,19 @@ class TestBigchainApi(object):
|
||||
def test_double_inclusion(self, b, alice):
|
||||
from planetmint.models import Transaction
|
||||
from planetmint.backend.exceptions import OperationError
|
||||
from tarantool.error import DatabaseError
|
||||
from planetmint.backend.tarantool.connection import TarantoolDB
|
||||
|
||||
tx = Transaction.create([alice.public_key], [([alice.public_key], 1)])
|
||||
tx = tx.sign([alice.private_key])
|
||||
|
||||
b.store_bulk_transactions([tx])
|
||||
|
||||
with pytest.raises(OperationError):
|
||||
b.store_bulk_transactions([tx])
|
||||
if isinstance(b.connection, TarantoolDB):
|
||||
with pytest.raises(DatabaseError):
|
||||
b.store_bulk_transactions([tx])
|
||||
else:
|
||||
with pytest.raises(OperationError):
|
||||
b.store_bulk_transactions([tx])
|
||||
|
||||
def test_text_search(self, b, alice):
|
||||
from planetmint.models import Transaction
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user