Skip to content

Commit 070a19a

Browse files
committed
[IMP] add tests for end migration scripts for newly installed modules
1 parent 9f09f7b commit 070a19a

4 files changed

Lines changed: 31 additions & 0 deletions

File tree

.github/workflows/test.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@ jobs:
9595
for snippet in openupgrade/openupgrade_scripts/scripts/*/*/tests/data*.py; do
9696
odoo-old/odoo-bin shell -d $DB < $snippet
9797
done
98+
- name: Test end-migration script for newly installed module (i.e. "spreadsheet" for v16)
99+
run: |
100+
END_SCRIPT_TEST=openupgrade/openupgrade_scripts/scripts/base/16.0.1.3/tests/end-migration_test.py
101+
NEW_MODULE_SCRIPT_DIR=openupgrade/openupgrade_scripts/scripts/spreadsheet/16.0.1.0/
102+
mkdir $NEW_MODULE_SCRIPT_DIR
103+
cp $END_SCRIPT_TEST $NEW_MODULE_SCRIPT_DIR
98104
- name: OpenUpgrade test
99105
run: |
100106
# select modules and perform the upgrade
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
from . import test_base_migration
2+
from . import test_newly_installed_end_migration
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Copyright 2023 Odoo Community Association (OCA)
2+
# Copyright 2023 Guillaume Masson <guillaume.masson@meta-it.fr>
3+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
4+
import logging
5+
6+
from openupgradelib import openupgrade
7+
8+
_logger = logging.getLogger(__name__)
9+
10+
11+
@openupgrade.migrate(no_version=True)
12+
def migrate(env, version):
13+
params = env["ir.config_parameter"].sudo()
14+
params.set_param("openupgrade.test_end_migration", "Executed")
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from odoo.tests import TransactionCase, tagged
2+
3+
4+
@tagged('-at_install', 'post_install')
5+
class TestNewlyInstalledEndMigration(TransactionCase):
6+
def test_newly_installed_end_migration(self):
7+
"""Make sure the code of the end-migration script has been executed"""
8+
params = self.env["ir.config_parameter"].sudo()
9+
res = params.get_param("openupgrade.test_end_migration", default="Not executed")
10+
self.assertEqual(res, "Executed")

0 commit comments

Comments
 (0)