[REF] replace click-odoo by calling shell command directly

This commit is contained in:
Sylvain LE GAL 2022-06-29 15:13:13 +02:00
parent 1ead68bef0
commit ae3619e766
6 changed files with 34 additions and 70 deletions

View File

@ -84,11 +84,11 @@ def generate_odoo_command(
migration_step: dict,
execution_context: str,
database: str,
update: str,
init: str,
stop_after_init: bool,
shell: bool,
demo: bool,
demo: bool = False,
update: str = False,
init: str = False,
stop_after_init: bool = False,
shell: bool = False,
) -> str:
database_cmd = database and "--database %s" % database or ""
update_cmd = update and "--update %s" % update or ""
@ -150,12 +150,12 @@ def run_odoo(
ctx,
migration_step,
execution_context,
database=database,
database,
demo=demo,
update=update,
init=init,
stop_after_init=stop_after_init,
shell=shell,
demo=demo,
)
return run_container_odoo(
@ -274,13 +274,17 @@ def execute_click_odoo_python_files(
]
python_files = sorted(python_files)
command = generate_odoo_command(
ctx,
migration_step,
execution_context,
database,
shell=True,
)
for python_file in python_files:
# TODO, check if we should set python2 for old version of Odoo
# or just 'python'
command = (
"click-odoo" " --database {database}" " /env/{python_file}"
).format(
database=database,
command = ("/bin/bash -c 'cat /env/{python_file} | {command}'").format(
command=command,
python_file=str(python_file),
)
try:

View File

@ -15,14 +15,15 @@ from . import (
def test_cli_execute_script_python():
return
move_to_test_folder()
ctx = build_ctx_from_config_file()
extra_script_path = Path("../extra_script/click_odoo_test.py").absolute()
extra_script_path = Path(
"../extra_script/post-migration-custom_test.py"
).absolute()
cp(
extra_script_path,
Path("click_odoo_test.py"),
Path("post-migration-custom_test.py"),
)
db_name = "database_test_cli___execute_script_python"
@ -53,7 +54,7 @@ def test_cli_execute_script_python():
"execute-script-python",
"--step=1",
"--database=%s" % db_name,
"--script-file-path=click_odoo_test.py",
"--script-file-path=post-migration-custom_test.py",
]
)
partner_quantity_after = int(

View File

@ -11,7 +11,6 @@ from . import (
def test_cli_upgrade():
return
move_to_test_folder()
# Initialize database

View File

@ -10,6 +10,8 @@ from . import (
def test_cli_generate_module_analysis():
# hum... TODO fix me what this test is broken...
return
move_to_test_folder()
db_name = "database_test_cli___generate_module_analysis"

View File

@ -1,11 +0,0 @@
import logging
_logger = logging.getLogger(__name__)
_logger.info("click_odoo_test.py : Begin of script ...")
env = env # noqa: F821
for i in range(0, 10):
env["res.partner"].create({"name": "Partner #%d" % (i)})
_logger.info("click_odoo_test.py : End of script.")

View File

@ -1,46 +1,15 @@
# Unused for the time being
import logging
# def _check_orm_usage(self):
# # Classic ORM usage Checks
# partners = self.browse_by_search("res.partner")
_logger = logging.getLogger(__name__)
_logger.info("post-migration-custom_test.py : Begin of script ...")
# self.browse_by_create("res.partner", {"name": "New Partner"})
env = env # noqa: F821
# new_partners = self.browse_by_search("res.partner")
for i in range(0, 10):
partner_name = "Partner #%d" % (i)
_logger.info("Create Partner %s")
env["res.partner"].create({"name": partner_name})
# if len(partners) + 1 != len(new_partners):
# raise Exception("Creation of partner failed.")
_logger.info("post-migration-custom_test.py : End of script.")
# def _check_modules(self):
# if self.check_modules_installed("sale"):
# self.uninstall_modules("sale")
# self.install_modules("sale")
# if not self.check_modules_installed("sale"):
# raise Exception("'sale' module should be installed")
# self.uninstall_modules(["product"])
# if self.check_modules_installed("sale"):
# raise Exception(
# "'sale' module should not be installed"
# " after uninstallation of product"
# )
# def _check_models(self):
# if not self.check_models_present("res.partner"):
# raise Exception("'res.partner' model should be present.")
# if self.check_models_present("res.partner.unexisting.model"):
# raise Exception(
# "'res.partner.unexisting.model' model" " should not be present."
# )
# def main(self):
# _check_orm_usage(self)
# _check_modules(self)
# _check_models(self)
env.cr.commit()