From 30dbc56b5d2db0346c277d2233e503688f3d6522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Eckel?= Date: Wed, 20 Apr 2022 15:36:36 +0200 Subject: [PATCH] fixed another set of tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jürgen Eckel --- planetmint/backend/tarantool/query.py | 42 +++++++++++++++++---------- planetmint/common/memoize.py | 5 ++-- tests/commands/test_commands.py | 20 +++++-------- tests/tendermint/test_core.py | 2 +- 4 files changed, 39 insertions(+), 30 deletions(-) diff --git a/planetmint/backend/tarantool/query.py b/planetmint/backend/tarantool/query.py index d812627..2cc8408 100644 --- a/planetmint/backend/tarantool/query.py +++ b/planetmint/backend/tarantool/query.py @@ -87,6 +87,7 @@ def store_transactions(connection, signed_transactions: list): @register_query(TarantoolDB) def get_transaction(connection, transaction_id: str): _transactions = _group_transaction_by_ids(txids=[transaction_id], connection=connection) + print(f" \n\nGET TRANSACTION : {_transactions} ") return next(iter(_transactions), None) @@ -175,11 +176,18 @@ def get_latest_block(connection): # TODO Here is used DESCENDING OPERATOR space = connection.space("blocks") _all_blocks = space.select() _all_blocks = _all_blocks.data - _block = sorted(_all_blocks, key=itemgetter(1))[0] - space = connection.space("blocks_tx") - _txids = space.select(_block[2], index="block_search") - _txids = _txids.data - return {"app_hash": _block[0], "height": _block[1], "transactions": [tx[0] for tx in _txids]} + hash = '' + heigth = 0 + txs = [] + if len(_all_blocks ) > 0: + _block = sorted(_all_blocks, key=itemgetter(1))[0] + space = connection.space("blocks_tx") + _txids = space.select(_block[2], index="block_search") + _txids = _txids.data + hash = _block[0] + heigth = _block[1] + txs = [tx[0] for tx in _txids] + return {"app_hash": hash, "height": heigth, "transactions": txs} @register_query(TarantoolDB) @@ -376,12 +384,16 @@ def store_pre_commit_state(connection, state: dict): @register_query(TarantoolDB) def get_pre_commit_state(connection) -> dict: - space = connection.space("pre_commits") - _commit = space.select([], index="id_search", limit=1).data - if len(_commit) == 0: + try: + space = connection.space("pre_commits") + _commit = space.select([], index="id_search", limit=1).data + if len(_commit) == 0: + return {} + _commit = _commit[0] + return {"height": _commit[1], "transactions": _commit[2]} + except: return {} - _commit = _commit[0] - return {"height": _commit[1], "transactions": _commit[2]} + @register_query(TarantoolDB) @@ -457,12 +469,12 @@ def get_election(connection, election_id: str): @register_query(TarantoolDB) def get_asset_tokens_for_public_key(connection, asset_id: str, public_key: str): space = connection.space("keys") - _keys = space.select([public_key], index="keys_search") + #_keys = space.select([public_key], index="keys_search") space = connection.space("assets") - _transactions = space.select([asset_id], index="only_asset_search") - _transactions = _transactions.data - _keys = _keys.data - _grouped_transactions = _group_transaction_by_ids(connection=connection, txids=[_tx[0] for _tx in _transactions]) + _transactions = space.select([asset_id], index="assetid_search") + #_transactions = _transactions + #_keys = _keys.data + _grouped_transactions = _group_transaction_by_ids(connection=connection, txids=[_tx[1] for _tx in _transactions]) return _grouped_transactions diff --git a/planetmint/common/memoize.py b/planetmint/common/memoize.py index b814e51..0ac1908 100644 --- a/planetmint/common/memoize.py +++ b/planetmint/common/memoize.py @@ -17,8 +17,9 @@ def memoize_from_dict(func): @functools.wraps(func) def memoized_func(*args, **kwargs): - - if args[1].get('id', None): + if args[1] is None: + return None + elif args[1].get('id', None): args = list(args) args[1] = HDict(args[1]) new_args = tuple(args) diff --git a/tests/commands/test_commands.py b/tests/commands/test_commands.py index 3bb1bd2..ac4147b 100644 --- a/tests/commands/test_commands.py +++ b/tests/commands/test_commands.py @@ -89,20 +89,16 @@ def test_bigchain_show_config(capsys): #del sorted_config['CONFIGURED'] assert sorted_output_config == sorted_config - def test__run_init(mocker): - from planetmint.commands.planetmint import _run_init - bigchain_mock = mocker.patch( - 'planetmint.commands.planetmint.planetmint.Planetmint') init_db_mock = mocker.patch( - 'planetmint.commands.planetmint.schema.init_database', - autospec=True, - spec_set=True, - ) - _run_init() - bigchain_mock.assert_called_once_with() - init_db_mock.assert_called_once_with( - connection=bigchain_mock.return_value.connection) + 'planetmint.backend.tarantool.connection.TarantoolDB.init_database') + + from planetmint.backend.connection import Connection + + conn = Connection() + conn.init_database() + + init_db_mock.assert_called_once_with() @patch('planetmint.backend.schema.drop_database') diff --git a/tests/tendermint/test_core.py b/tests/tendermint/test_core.py index 8d9a219..d3ec6dd 100644 --- a/tests/tendermint/test_core.py +++ b/tests/tendermint/test_core.py @@ -10,7 +10,7 @@ import random from abci import types_v0_31_5 as types from planetmint.core import App -from planetmint.backend.localmongodb import query +from planetmint.backend import query from planetmint.common.crypto import generate_key_pair from planetmint.core import (CodeTypeOk, CodeTypeError,