From cc6f8eea16ff3b1d1cce39d1e832035c1e606716 Mon Sep 17 00:00:00 2001 From: andrei Date: Thu, 26 May 2022 15:24:39 +0300 Subject: [PATCH] created flush_db for tarantool connection type --- planetmint/backend/schema.py | 4 ++++ tests/conftest.py | 18 ++++-------------- tests/utils.py | 20 +++++++++++++++----- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/planetmint/backend/schema.py b/planetmint/backend/schema.py index 2677df0..89f5872 100644 --- a/planetmint/backend/schema.py +++ b/planetmint/backend/schema.py @@ -20,6 +20,10 @@ logger = logging.getLogger(__name__) TABLES = ('transactions', 'blocks', 'assets', 'metadata', 'validators', 'elections', 'pre_commit', 'utxos', 'abci_chains') +SPACE_NAMES = ("abci_chains", "assets", "blocks", "blocks_tx", + "elections", "meta_data", "pre_commits", "validators", + "transactions", "inputs", "outputs", "keys") + VALID_LANGUAGES = ('danish', 'dutch', 'english', 'finnish', 'french', 'german', 'hungarian', 'italian', 'norwegian', 'portuguese', 'romanian', 'russian', 'spanish', 'swedish', 'turkish', 'none', diff --git a/tests/conftest.py b/tests/conftest.py index 9062447..1b87cb1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -126,19 +126,6 @@ def _setup_database(_configure_planetmint): # TODO Here is located setup databa from planetmint.backend.connection import Connection from planetmint.config import Config - # print('Deleting `{}` database') - # db_conn = Connection() - # db_conn.drop_database() - # db_conn.init_database() - # print('Finished deleting ``') - # - # yield - # - # print('Initializing test db') - # db_conn2 = Connection() - # db_conn2.drop_database() - # print('Finishing init database') - print('Initializing test db') dbname = Config().get()['database']['name'] conn = Connection() @@ -161,8 +148,12 @@ def _bdb(_setup_database): from planetmint.backend import Connection from planetmint.transactions.common.memoize import to_dict, from_dict from planetmint.models import Transaction + from .utils import flush_db + from planetmint.config import Config conn = Connection() yield + dbname = Config().get()['database']['name'] + flush_db(conn, dbname) to_dict.cache_clear() from_dict.cache_clear() @@ -372,7 +363,6 @@ def inputs(user_pk, b, alice): def _drop_db(conn, dbname): try: - conn.drop_database() schema.drop_database(conn, dbname) except DatabaseDoesNotExist: pass diff --git a/tests/utils.py b/tests/utils.py index ceffff0..811f6fd 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -10,7 +10,8 @@ import random from functools import singledispatch from planetmint.backend.localmongodb.connection import LocalMongoDBConnection -from planetmint.backend.schema import TABLES +from planetmint.backend.tarantool.connection import TarantoolDB +from planetmint.backend.schema import TABLES, SPACE_NAMES from planetmint.transactions.common import crypto from planetmint.transactions.common.transaction_mode_types import BROADCAST_TX_COMMIT from planetmint.transactions.types.assets.create import Create @@ -29,14 +30,23 @@ def flush_localmongo_db(connection, dbname): getattr(connection.conn[dbname], t).delete_many({}) +@flush_db.register(TarantoolDB) +def flush_tarantool_db(connection, dbname): + for s in SPACE_NAMES: + _space = connection.space(space_name=s) + _all_data = _space.select([]).data + for _id in _all_data: + _space.delete(_id[0]) + + def generate_block(planet): from planetmint.transactions.common.crypto import generate_key_pair alice = generate_key_pair() tx = Create.generate([alice.public_key], - [([alice.public_key], 1)], - asset=None)\ - .sign([alice.private_key]) + [([alice.public_key], 1)], + asset=None) \ + .sign([alice.private_key]) code, message = planet.write_transaction(tx, BROADCAST_TX_COMMIT) assert code == 202 @@ -55,7 +65,7 @@ def gen_vote(election, i, ed25519_node_keys): election_pub_key = Election.to_public_key(election.id) return Vote.generate([input_i], [([election_pub_key], votes_i)], - election_id=election.id)\ + election_id=election.id) \ .sign([key_i.private_key])