From 6a243743f4f752ca9751862b68e83336d1336e4b Mon Sep 17 00:00:00 2001 From: andrei Date: Mon, 25 Apr 2022 15:16:24 +0300 Subject: [PATCH 1/3] fixed test_core.py by adding HDict in saved_key_orders function Signed-off-by: Sangat Das --- planetmint/backend/tarantool/transaction/tools.py | 7 ++++--- tests/tendermint/test_core.py | 1 - tests/upsert_validator/conftest.py | 4 ---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/planetmint/backend/tarantool/transaction/tools.py b/planetmint/backend/tarantool/transaction/tools.py index de83b3c..31243bf 100644 --- a/planetmint/backend/tarantool/transaction/tools.py +++ b/planetmint/backend/tarantool/transaction/tools.py @@ -1,10 +1,11 @@ from secrets import token_hex import copy +from planetmint.common.memoize import HDict def _save_keys_order(dictionary): filter_keys = ["asset", "metadata"] - if type(dictionary) is dict: + if type(dictionary) is dict or type(dictionary) is HDict: keys = list(dictionary.keys()) _map = {} for key in keys: @@ -35,7 +36,6 @@ class TransactionDecompose: "metadata": None, "asset": None } - # print(f"Transaction ::::: {self._transaction}") def get_map(self, dictionary: dict = None): @@ -115,10 +115,11 @@ class TransactionDecompose: return _keys, _outputs def __prepare_transaction(self): + _map = self.get_map() return (self._transaction["id"], self._transaction["operation"], self._transaction["version"], - self.get_map()) + _map) def convert_to_tuple(self): self._metadata_check() diff --git a/tests/tendermint/test_core.py b/tests/tendermint/test_core.py index d3ec6dd..dd77d9c 100644 --- a/tests/tendermint/test_core.py +++ b/tests/tendermint/test_core.py @@ -293,7 +293,6 @@ def test_deliver_tx__double_spend_fails(a, b, init_chain_request): app.end_block(types.RequestEndBlock(height=99)) app.commit() - assert b.get_transaction(tx.id).id == tx.id result = app.deliver_tx(encode_tx_to_bytes(tx)) assert result.code == CodeTypeError diff --git a/tests/upsert_validator/conftest.py b/tests/upsert_validator/conftest.py index ea932c8..cd0d1a3 100644 --- a/tests/upsert_validator/conftest.py +++ b/tests/upsert_validator/conftest.py @@ -7,7 +7,6 @@ from unittest.mock import patch import pytest from planetmint.backend import query -# from planetmint.backend.localmongodb import query from planetmint.upsert_validator import ValidatorElection @@ -46,6 +45,3 @@ def inconclusive_election(b, ongoing_validator_election, new_validator): query.store_validator_set(b.connection, validator_update) return ongoing_validator_election - -# ERROR tests/upsert_validator/test_validator_election.py::test_get_status_concluded - AttributeError: 'TarantoolDB' object has no attribute 'run' -# ERROR tests/upsert_validator/test_validator_election.py::test_get_status_inconclusive - AttributeError: 'TarantoolDB' object has no attribute 'run' From fe5afa5a7a118d7cf094cf3a1c129400caac7773 Mon Sep 17 00:00:00 2001 From: Sangat Das Date: Tue, 26 Apr 2022 05:13:03 -0700 Subject: [PATCH 2/3] Fix make test issue - unhealthy planetmint container because non-init of tarantool spaces Signed-off-by: Sangat Das --- Dockerfile-dev | 3 ++- planetmint/backend/tarantool/connection.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile-dev b/Dockerfile-dev index c44b4f3..260585f 100644 --- a/Dockerfile-dev +++ b/Dockerfile-dev @@ -4,6 +4,7 @@ LABEL maintainer "contact@ipdb.global" RUN apt-get update \ && apt-get install -y git zsh\ + && apt-get install -y tarantool-common\ && pip install -U pip \ && apt-get autoremove \ && apt-get clean @@ -15,7 +16,7 @@ ARG abci_status # to force stdin, stdout and stderr to be totally unbuffered and to capture logs/outputs ENV PYTHONUNBUFFERED 0 -ENV PLANETMINT_DATABASE_PORT 27017 +ENV PLANETMINT_DATABASE_PORT 3303 ENV PLANETMINT_DATABASE_BACKEND $backend ENV PLANETMINT_SERVER_BIND 0.0.0.0:9984 ENV PLANETMINT_WSSERVER_HOST 0.0.0.0 diff --git a/planetmint/backend/tarantool/connection.py b/planetmint/backend/tarantool/connection.py index 6b18672..0cbd38c 100644 --- a/planetmint/backend/tarantool/connection.py +++ b/planetmint/backend/tarantool/connection.py @@ -63,7 +63,7 @@ class TarantoolDB: import subprocess print(f" commands: {command}") ret = subprocess.Popen( - ['%s %s:%s < %s' % ("tarantoolctl connect", "localhost", "3303", command)], + ['%s %s:%s < %s' % ("tarantoolctl connect", self.host, self.port, command)], stdin=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=True, From 89ae7e9cb7fade7779035bf9dd378b3ac5e38278 Mon Sep 17 00:00:00 2001 From: Sangat Das Date: Wed, 27 Apr 2022 01:34:08 -0700 Subject: [PATCH 3/3] Fix tarantool connection issues in test Signed-off-by: Sangat Das --- tests/conftest.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index dc35da2..c1efc21 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -17,6 +17,7 @@ import tempfile from collections import namedtuple from logging import getLogger from logging.config import dictConfig +from planetmint.backend.connection import Connection import pytest # from pymongo import MongoClient @@ -117,7 +118,7 @@ def _setup_database(_configure_planetmint): # TODO Here is located setup databa print('Deleting `{}` database') - db_conn = TarantoolDB("localhost", 3303) + db_conn = Connection() db_conn.drop_database() db_conn.init_database() print('Finished deleting ``') @@ -126,7 +127,7 @@ def _setup_database(_configure_planetmint): # TODO Here is located setup databa print('Initializing test db') - db_conn2 = TarantoolDB("localhost", 3303) + db_conn2 = Connection() db_conn2.drop_database() print('Finishing init database')