odoo-openupgrade-wizard/tests/cli_32_dropdb_test.py
2024-02-22 08:53:45 +01:00

54 lines
1.2 KiB
Python

import pathlib
import shutil
from odoo_openupgrade_wizard.tools.tools_postgres import (
ensure_database,
execute_sql_request,
)
from . import (
build_ctx_from_config_file,
cli_runner_invoke,
mock_odoo_rpc_url,
move_to_test_folder,
)
def test_cli_dropdb(mocker):
move_to_test_folder()
mock_odoo_rpc_url(mocker)
db_name = "database_test_cli___dropdb"
ctx = build_ctx_from_config_file()
# Ensure environment is clean
ensure_database(ctx, db_name, state="absent")
filestore_path = pathlib.Path(f"./filestore/filestore/{db_name}")
shutil.rmtree(filestore_path, ignore_errors=True)
# Initialize database
cli_runner_invoke(
[
"--log-level=DEBUG",
"install-from-csv",
f"--database={db_name}",
],
)
# Drop database
cli_runner_invoke(
[
"--log-level=DEBUG",
"dropdb",
f"--database={db_name}",
],
)
# Check database does not exists
request = "select datname FROM pg_database WHERE datistemplate = false;"
results = execute_sql_request(ctx, request)
assert [db_name] not in results
# Check filestore does not exists
assert not filestore_path.exists()