odoo-openupgrade-wizard/tests/cli_30_psql_test.py
Sylvain LE GAL c717c04bd0 TEST - WIP
2024-03-23 14:05:26 +01:00

69 lines
1.5 KiB
Python

from pytest import raises
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_psql():
move_to_test_folder()
ctx = build_ctx_from_config_file()
db_name = "database_test_cli___psql"
ensure_database(ctx, db_name, state="absent")
# initialize database
cli_runner_invoke(
[
"--log-level=DEBUG",
"run",
"--step=1",
"--database=%s" % db_name,
"--init-modules=base",
"--stop-after-init",
],
)
# Test requests from lib
request = (
"SELECT name"
" FROM ir_module_module"
" WHERE state ='installed'"
" AND name='base';"
)
output = execute_sql_request(ctx, request)
assert output.strip() == "base"
# test via cli ok
cli_runner_invoke(
[
"--log-level=DEBUG",
"psql",
"--database=%s" % db_name,
'--command "%s"' % request,
"--no-pager",
"--tuples-only",
],
)
# test that cli fails with wrong parameters
with raises(Exception):
cli_runner_invoke(
[
"--log-level=DEBUG",
"psql",
"--database=%s" % db_name,
'--command "%s"' % request,
"--no-pager",
"--tuples-only",
"---unkwon-argument",
],
)