odoo-openupgrade-wizard/tests/cli_06_execute_script_sql_test.py

49 lines
1.2 KiB
Python

from pathlib import Path
from plumbum.cmd import cp
from odoo_openupgrade_wizard.tools_postgres import (
ensure_database,
execute_sql_request,
)
from . import (
build_ctx_from_config_file,
cli_runner_invoke,
move_to_test_folder,
)
def test_cli_execute_script_sql():
move_to_test_folder()
extra_script_path = Path(
"../extra_script/pre-migration-custom_test.sql"
).absolute()
# Deploy SQL Script
destination_path = Path("scripts/step_01__update__13.0")
cp([extra_script_path, destination_path])
ctx = build_ctx_from_config_file()
# Reset database
db_name = "database_test_cli___execute_script_sql"
ensure_database(ctx, db_name, state="absent")
ensure_database(ctx, db_name, state="present")
# TODO call with script-file-path
# to avoid to copy file in scripts/step_xxx folder
cli_runner_invoke(
[
"--log-level=DEBUG",
"execute-script-sql",
"--step=1",
"--database=%s" % db_name,
]
)
# Ensure that the request has been done correctly
request = "SELECT name from city order by id;"
result = execute_sql_request(ctx, request, database=db_name)
assert result == [["Chicago"], ["Cavalaire Sur Mer"]]