mirror of
https://github.com/planetmint/planetmint.git
synced 2025-11-24 22:45:44 +00:00
Now planetmint drop and planemint init, is working throught schema.py file.
This commit is contained in:
parent
903bec2890
commit
338e5ddfb6
@ -57,13 +57,13 @@ class TarantoolDB:
|
|||||||
db_config = Config().get()["database"]
|
db_config = Config().get()["database"]
|
||||||
cmd_resp = self.run_command(command=self.drop_path, config=db_config)
|
cmd_resp = self.run_command(command=self.drop_path, config=db_config)
|
||||||
self._reconnect()
|
self._reconnect()
|
||||||
return cmd_resp
|
# if "nil" in cmd_resp:
|
||||||
|
# raise DatabaseDoesNotExist
|
||||||
|
|
||||||
def init_database(self):
|
def init_database(self):
|
||||||
db_config = Config().get()["database"]
|
db_config = Config().get()["database"]
|
||||||
cmd_resp = self.run_command(command=self.init_path, config=db_config)
|
cmd_resp = self.run_command(command=self.init_path, config=db_config)
|
||||||
self._reconnect()
|
self._reconnect()
|
||||||
return cmd_resp
|
|
||||||
|
|
||||||
def run_command(self, command: str, config: dict):
|
def run_command(self, command: str, config: dict):
|
||||||
from subprocess import run
|
from subprocess import run
|
||||||
@ -74,6 +74,4 @@ class TarantoolDB:
|
|||||||
input=execute_cmd,
|
input=execute_cmd,
|
||||||
capture_output=True).stderr
|
capture_output=True).stderr
|
||||||
output = output.decode()
|
output = output.decode()
|
||||||
if "nil value" in output:
|
return output
|
||||||
raise DatabaseDoesNotExist
|
|
||||||
return False if "nil value" in output else True
|
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
import warnings
|
||||||
|
|
||||||
from planetmint.backend.utils import module_dispatch_registrar
|
from planetmint.backend.utils import module_dispatch_registrar
|
||||||
from planetmint import backend
|
from planetmint import backend
|
||||||
from planetmint.backend.tarantool.connection import TarantoolDB
|
from planetmint.backend.tarantool.connection import TarantoolDB
|
||||||
@ -6,5 +8,18 @@ register_schema = module_dispatch_registrar(backend.schema)
|
|||||||
|
|
||||||
|
|
||||||
@register_schema(TarantoolDB)
|
@register_schema(TarantoolDB)
|
||||||
def drop_database(connection):
|
def drop_database(connection, not_used=None):
|
||||||
connection.drop_database()
|
connection.drop_database()
|
||||||
|
|
||||||
|
|
||||||
|
@register_schema(TarantoolDB)
|
||||||
|
def create_database(connection, not_used=None):
|
||||||
|
connection.init_database()
|
||||||
|
|
||||||
|
|
||||||
|
@register_schema(TarantoolDB)
|
||||||
|
def create_tables(connection, not_used=None):
|
||||||
|
"""
|
||||||
|
This function is not necessary for using backend tarantool.
|
||||||
|
"""
|
||||||
|
warnings.warn("Function ::create_tables:: Ignored. Not used for create_tables")
|
||||||
|
|||||||
@ -245,12 +245,9 @@ def run_election_show(args, planet):
|
|||||||
|
|
||||||
|
|
||||||
def _run_init():
|
def _run_init():
|
||||||
# bdb = planetmint.Planetmint()
|
from planetmint.backend import schema
|
||||||
|
bdb = planetmint.Planetmint()
|
||||||
# schema.init_database(connection=bdb.connection)
|
schema.init_database(connection=bdb.connection)
|
||||||
from planetmint.backend.connection import Connection
|
|
||||||
conn = Connection()
|
|
||||||
conn.init_database()
|
|
||||||
|
|
||||||
|
|
||||||
@configure_planetmint
|
@configure_planetmint
|
||||||
@ -259,7 +256,7 @@ def run_init(args):
|
|||||||
_run_init()
|
_run_init()
|
||||||
|
|
||||||
|
|
||||||
# @configure_planetmint
|
@configure_planetmint
|
||||||
def run_drop(args):
|
def run_drop(args):
|
||||||
"""Drop the database"""
|
"""Drop the database"""
|
||||||
|
|
||||||
@ -271,8 +268,7 @@ def run_drop(args):
|
|||||||
from planetmint.backend.connection import Connection
|
from planetmint.backend.connection import Connection
|
||||||
from planetmint.backend import schema
|
from planetmint.backend import schema
|
||||||
conn = Connection()
|
conn = Connection()
|
||||||
return conn.drop_database()
|
schema.drop_database(conn)
|
||||||
# schema.drop_database(connection=conn)
|
|
||||||
|
|
||||||
|
|
||||||
def run_recover(b):
|
def run_recover(b):
|
||||||
|
|||||||
@ -122,20 +122,18 @@ def test_drop_db_when_interactive_yes(mock_db_drop, monkeypatch):
|
|||||||
assert mock_db_drop.called
|
assert mock_db_drop.called
|
||||||
|
|
||||||
|
|
||||||
# @patch('planetmint.backend.schema.drop_database')
|
@patch('planetmint.backend.schema.drop_database')
|
||||||
# def test_drop_db_when_db_does_not_exist(mock_db_drop, capsys):
|
def test_drop_db_when_db_does_not_exist(mock_db_drop, capsys):
|
||||||
def test_drop_db_when_db_does_not_exist():
|
|
||||||
from planetmint.config import Config
|
from planetmint.config import Config
|
||||||
from planetmint.common.exceptions import DatabaseDoesNotExist
|
from planetmint.common.exceptions import DatabaseDoesNotExist
|
||||||
from planetmint.commands.planetmint import run_drop
|
from planetmint.commands.planetmint import run_drop
|
||||||
args = Namespace(config=None, yes=True)
|
args = Namespace(config=None, yes=True)
|
||||||
# mock_db_drop.side_effect = DatabaseDoesNotExist
|
mock_db_drop.side_effect = DatabaseDoesNotExist
|
||||||
|
|
||||||
cmd_resp = run_drop(args)
|
run_drop(args)
|
||||||
assert cmd_resp == False # TODO Error now appears because stdout is not readed by function.
|
output_message = capsys.readouterr()[1]
|
||||||
# output_message = capsys.readouterr()[1]
|
assert output_message == "Cannot drop '{name}'. The database does not exist.\n".format(
|
||||||
# assert output_message == "Cannot drop '{name}'. The database does not exist.\n".format(
|
name=Config().get()['database']['name'])
|
||||||
# name=Config().get()['database']['name'])
|
|
||||||
|
|
||||||
|
|
||||||
@patch('planetmint.backend.schema.drop_database')
|
@patch('planetmint.backend.schema.drop_database')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user