diff --git a/tests/cli_A_init_test.py b/tests/cli_A_init_test.py new file mode 100644 index 0000000..24544a1 --- /dev/null +++ b/tests/cli_A_init_test.py @@ -0,0 +1,32 @@ +import filecmp +from pathlib import Path + +from click.testing import CliRunner +from plumbum.cmd import mkdir + +from odoo_openupgrade_wizard.cli import main + + +def test_cli_init(): + return + output_folder_path = Path("./tests/output_A") + expected_folder_path = Path("./tests/output_A_expected") + mkdir([output_folder_path, "--parents"]) + result = CliRunner().invoke( + main, + [ + "--env-folder=%s" % output_folder_path, + "init", + "--project-name=test-cli-A", + "--initial-release=9.0", + "--final-release=12.0", + "--extra-repository=" + "OCA/web,OCA/server-tools,GRAP/grap-odoo-incubator", + ], + ) + assert result.exit_code == 0 + + assert filecmp.cmp( + output_folder_path / Path("config.yml"), + expected_folder_path / Path("config.yml"), + ) diff --git a/tests/cli_B_01_get_code_test.py b/tests/cli_B_01_get_code_test.py new file mode 100644 index 0000000..56fac4c --- /dev/null +++ b/tests/cli_B_01_get_code_test.py @@ -0,0 +1,42 @@ +from pathlib import Path + +from click.testing import CliRunner +from plumbum.cmd import mkdir + +from odoo_openupgrade_wizard.cli import main + + +def test_cli_get_code(): + output_folder_path = Path("./tests/output_B") + mkdir([output_folder_path, "--parents"]) + + # We initialize an env with only one version to avoid to git clone + # large data + CliRunner().invoke( + main, + [ + "--env-folder=%s" % output_folder_path, + "init", + "--project-name=test-cli-B", + "--initial-release=14.0", + "--final-release=14.0", + "--extra-repository=OCA/web", + ], + ) + + result = CliRunner().invoke( + main, + [ + "--env-folder=%s" % output_folder_path, + "get-code", + ], + ) + assert result.exit_code == 0 + + openupgrade_path = output_folder_path / Path( + "./src/env_14.0/src/openupgrade" + ) + + assert openupgrade_path.exists() + + assert (openupgrade_path / Path("openupgrade_framework")).exists() diff --git a/tests/cli_B_02_docker_build_test.py b/tests/cli_B_02_docker_build_test.py new file mode 100644 index 0000000..df1918e --- /dev/null +++ b/tests/cli_B_02_docker_build_test.py @@ -0,0 +1,25 @@ +from pathlib import Path + +# import docker +from click.testing import CliRunner + +from odoo_openupgrade_wizard.cli import main + + +def test_cli_docker_build(): + return + # TODO, FIXME + # call docker command inside tests doesn't seems to work + output_folder_path = Path("./tests/output_B") + + result = CliRunner().invoke( + main, + [ + "--env-folder=%s" % output_folder_path / "src/env_14.0", + "docker-build", + ], + ) + assert result.exit_code == 0 + + # TODO, add test to see if image exists + # docker_client = docker.from_env() diff --git a/tests/output_A_expected/config.yml b/tests/output_A_expected/config.yml new file mode 100644 index 0000000..36512a6 --- /dev/null +++ b/tests/output_A_expected/config.yml @@ -0,0 +1,39 @@ +project_name: test-cli-init + +odoo_versions: + + - release: 9.0 + + - release: 10.0 + + - release: 11.0 + + - release: 12.0 + + +migration_steps: + + - name: 1 + release: 9.0 + action: update + complete_name: step_01__update__9.0 + + - name: 2 + release: 10.0 + action: upgrade + complete_name: step_02__upgrade__10.0 + + - name: 3 + release: 11.0 + action: upgrade + complete_name: step_03__upgrade__11.0 + + - name: 4 + release: 12.0 + action: upgrade + complete_name: step_04__upgrade__12.0 + + - name: 6 + release: 12.0 + action: update + complete_name: step_06__update__12.0