49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
from pathlib import Path
|
|
|
|
from plumbum.cmd import cp
|
|
|
|
from odoo_openupgrade_wizard.tools.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__14.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"]]
|