Use activate instead of install for module activation

issue1456
review28931002
This commit is contained in:
Nicolas Évrard committed 2016-10-20 12:51:56 +02:00
1 parent 6410cd00d5
commit ccbb43cb1d
29 files changed
+164 -163

No files matched your search

+3 -3
View File
@@ -76,8 +76,8 @@ def register():
ModuleConfigWizardFirst,
ModuleConfigWizardOther,
ModuleConfigWizardDone,
ModuleInstallUpgradeStart,
ModuleInstallUpgradeDone,
ModuleActivateUpgradeStart,
ModuleActivateUpgradeDone,
Cache,
Date,
Trigger,
@@ -93,7 +93,7 @@ def register():
ShowView,
PrintModelGraph,
ModuleConfigWizard,
ModuleInstallUpgrade,
ModuleActivateUpgrade,
ModuleConfig,
module='ir', type_='wizard')
Pool.register(
+67 -66
View File
@@ -20,8 +20,8 @@ __all__ = [
'Module', 'ModuleDependency', 'ModuleConfigWizardItem',
'ModuleConfigWizardFirst', 'ModuleConfigWizardOther',
'ModuleConfigWizardDone', 'ModuleConfigWizard',
'ModuleInstallUpgradeStart', 'ModuleInstallUpgradeDone',
'ModuleInstallUpgrade', 'ModuleConfig',
'ModuleActivateUpgradeStart', 'ModuleActivateUpgradeDone',
'ModuleActivateUpgrade', 'ModuleConfig',
]
@@ -47,11 +47,11 @@ class Module(ModelSQL, ModelView):
childs = fields.Function(fields.One2Many('ir.module', None, 'Childs'),
'get_childs')
state = fields.Selection([
('uninstalled', 'Not Installed'),
('installed', 'Installed'),
('not activated', 'Not Activated'),
('activated', 'Activated'),
('to upgrade', 'To be upgraded'),
('to remove', 'To be removed'),
('to install', 'To be installed'),
('to activate', 'To be activated'),
], string='State', readonly=True)
@classmethod
@@ -67,27 +67,27 @@ class Module(ModelSQL, ModelView):
'on_write': RPC(instantiate=0),
})
cls._error_messages.update({
'delete_state': ('You can not remove a module that is installed '
'or will be installed'),
'delete_state': ('You can not remove a module that is activated '
'or will be activated'),
'missing_dep': 'Missing dependencies %s for module "%s"',
'uninstall_dep': ('The modules you are trying to uninstall '
'depends on installed modules:'),
'deactivate_dep': ('The modules you are trying to deactivate '
'depends on activated modules:'),
})
cls._buttons.update({
'install': {
'invisible': Eval('state') != 'uninstalled',
'activate': {
'invisible': Eval('state') != 'not activated',
},
'install_cancel': {
'invisible': Eval('state') != 'to install',
'activate_cancel': {
'invisible': Eval('state') != 'to activate',
},
'uninstall': {
'invisible': Eval('state') != 'installed',
'deactivate': {
'invisible': Eval('state') != 'activated',
},
'uninstall_cancel': {
'deactivate_cancel': {
'invisible': Eval('state') != 'to remove',
},
'upgrade': {
'invisible': Eval('state') != 'installed',
'invisible': Eval('state') != 'activated',
},
'upgrade_cancel': {
'invisible': Eval('state') != 'to upgrade',
@@ -107,7 +107,7 @@ class Module(ModelSQL, ModelView):
@staticmethod
def default_state():
return 'uninstalled'
return 'not activated'
def get_version(self, name):
return get_module_info(self.name).get('version', '')
@@ -140,10 +140,10 @@ class Module(ModelSQL, ModelView):
def delete(cls, records):
for module in records:
if module.state in (
'installed',
'activated',
'to upgrade',
'to remove',
'to install',
'to activate',
):
cls.raise_user_error('delete_state')
return super(Module, cls).delete(records)
@@ -171,9 +171,9 @@ class Module(ModelSQL, ModelView):
@classmethod
@ModelView.button
@filter_state('uninstalled')
def install(cls, modules):
modules_install = set(modules)
@filter_state('not activated')
def activate(cls, modules):
modules_activated = set(modules)
graph, packages, later = create_graph(get_module_list())
def get_parents(module):
@@ -190,17 +190,17 @@ class Module(ModelSQL, ModelView):
missings = [x for x in deps if x not in graph]
cls.raise_user_error('missing_dep', (missings, module.name))
modules_install.update((m for m in get_parents(module)
if m.state == 'uninstalled'))
cls.write(list(modules_install), {
'state': 'to install',
modules_activated.update((m for m in get_parents(module)
if m.state == 'not activated'))
cls.write(list(modules_activated), {
'state': 'to activate',
})
@classmethod
@ModelView.button
@filter_state('installed')
@filter_state('activated')
def upgrade(cls, modules):
modules_installed = set(modules)
modules_activated = set(modules)
graph, packages, later = create_graph(get_module_list())
def get_childs(module):
@@ -217,24 +217,24 @@ class Module(ModelSQL, ModelView):
missings = [x for x in deps if x not in graph]
cls.raise_user_error('missing_dep', (missings, module.name))
modules_installed.update((m for m in get_childs(module)
if m.state == 'installed'))
cls.write(list(modules_installed), {
modules_activated.update((m for m in get_childs(module)
if m.state == 'activated'))
cls.write(list(modules_activated), {
'state': 'to upgrade',
})
@classmethod
@ModelView.button
@filter_state('to install')
def install_cancel(cls, modules):
@filter_state('to activate')
def activate_cancel(cls, modules):
cls.write(modules, {
'state': 'uninstalled',
'state': 'not activated',
})
@classmethod
@ModelView.button
@filter_state('installed')
def uninstall(cls, modules):
@filter_state('activated')
def deactivate(cls, modules):
pool = Pool()
Module = pool.get('ir.module')
Dependency = pool.get('ir.module.dependency')
@@ -246,25 +246,26 @@ class Module(ModelSQL, ModelView):
condition=(dep_table.module == module_table.id)
).select(module_table.state, module_table.name,
where=(dep_table.name == module.name)
& NotIn(module_table.state, ['uninstalled', 'to remove'])))
& NotIn(
module_table.state, ['not activated', 'to remove'])))
res = cursor.fetchall()
if res:
cls.raise_user_error('uninstall_dep',
cls.raise_user_error('deactivate_dep',
error_description='\n'.join(
'\t%s: %s' % (x[0], x[1]) for x in res))
cls.write(modules, {'state': 'to remove'})
cls.write(modules, {'state': 'not activated'})
@classmethod
@ModelView.button
@filter_state('to remove')
def uninstall_cancel(cls, modules):
cls.write(modules, {'state': 'installed'})
def deactivate_cancel(cls, modules):
cls.write(modules, {'state': 'not activated'})
@classmethod
@ModelView.button
@filter_state('to upgrade')
def upgrade_cancel(cls, modules):
cls.write(modules, {'state': 'installed'})
cls.write(modules, {'state': 'activated'})
@classmethod
def update_list(cls):
@@ -275,7 +276,7 @@ class Module(ModelSQL, ModelView):
modules = cls.search([])
name2module = dict((m.name, m) for m in modules)
# iterate through installed modules and mark them as being so
# iterate through activated modules and mark them as being so
for name in module_names:
if name in name2module:
module = name2module[name]
@@ -288,7 +289,7 @@ class Module(ModelSQL, ModelView):
continue
module, = cls.create([{
'name': name,
'state': 'uninstalled',
'state': 'not activated',
}])
count += 1
cls._update_dependencies(module, tryton.get('depends', []))
@@ -323,11 +324,11 @@ class ModuleDependency(ModelSQL, ModelView):
module = fields.Many2One('ir.module', 'Module', select=True,
ondelete='CASCADE', required=True)
state = fields.Function(fields.Selection([
('uninstalled', 'Not Installed'),
('installed', 'Installed'),
('not activated', 'Not Activated'),
('activated', 'Activated'),
('to upgrade', 'To be upgraded'),
('to remove', 'To be removed'),
('to install', 'To be installed'),
('to activate', 'To be activated'),
('unknown', 'Unknown'),
], 'State', readonly=True), 'get_state')
@@ -364,7 +365,7 @@ class ModuleDependency(ModelSQL, ModelView):
class ModuleConfigWizardItem(ModelSQL, ModelView):
"Config wizard to run after installing module"
"Config wizard to run after activating a module"
__name__ = 'ir.module.config_wizard.item'
_rec_name = 'action'
action = fields.Many2One('ir.action', 'Action', required=True,
@@ -502,45 +503,45 @@ class ModuleConfigWizard(Wizard):
return 'reload menu'
class ModuleInstallUpgradeStart(ModelView):
'Module Install Upgrade Start'
__name__ = 'ir.module.install_upgrade.start'
class ModuleActivateUpgradeStart(ModelView):
'Module Activate Upgrade Start'
__name__ = 'ir.module.activate_upgrade.start'
module_info = fields.Text('Modules to update', readonly=True)
class ModuleInstallUpgradeDone(ModelView):
'Module Install Upgrade Done'
__name__ = 'ir.module.install_upgrade.done'
class ModuleActivateUpgradeDone(ModelView):
'Module Activate Upgrade Done'
__name__ = 'ir.module.activate_upgrade.done'
class ModuleInstallUpgrade(Wizard):
"Install / Upgrade modules"
__name__ = 'ir.module.install_upgrade'
class ModuleActivateUpgrade(Wizard):
"Activate / Upgrade modules"
__name__ = 'ir.module.activate_upgrade'
start = StateView('ir.module.install_upgrade.start',
'ir.module_install_upgrade_start_view_form', [
start = StateView('ir.module.activate_upgrade.start',
'ir.module_activate_upgrade_start_view_form', [
Button('Cancel', 'end', 'tryton-cancel'),
Button('Start Upgrade', 'upgrade', 'tryton-ok', default=True),
])
upgrade = StateTransition()
done = StateView('ir.module.install_upgrade.done',
'ir.module_install_upgrade_done_view_form', [
done = StateView('ir.module.activate_upgrade.done',
'ir.module_activate_upgrade_done_view_form', [
Button('OK', 'config', 'tryton-ok', default=True),
])
config = StateAction('ir.act_module_config_wizard')
@classmethod
def check_access(cls):
# Use new transaction to prevent lock when installing modules
# Use new transaction to prevent lock when activating modules
with Transaction().new_transaction():
super(ModuleInstallUpgrade, cls).check_access()
super(ModuleActivateUpgrade, cls).check_access()
@staticmethod
def default_start(fields):
pool = Pool()
Module = pool.get('ir.module')
modules = Module.search([
('state', 'in', ['to upgrade', 'to remove', 'to install']),
('state', 'in', ['to upgrade', 'to remove', 'to activate']),
])
return {
'module_info': '\n'.join(x.name + ': ' + x.state
@@ -559,7 +560,7 @@ class ModuleInstallUpgrade(Wizard):
Lang = pool.get('ir.lang')
with Transaction().new_transaction():
modules = Module.search([
('state', 'in', ['to upgrade', 'to remove', 'to install']),
('state', 'in', ['to upgrade', 'to remove', 'to activate']),
])
update = [m.name for m in modules]
langs = Lang.search([
+14 -14
View File
@@ -95,32 +95,32 @@ this repository contains the full copyright notices and license terms. -->
<field name="name">module_config_wizard_done_form</field>
</record>
<record model="ir.action.wizard" id="act_module_install_upgrade">
<field name="name">Perform Pending Installation/Upgrade</field>
<field name="wiz_name">ir.module.install_upgrade</field>
<record model="ir.action.wizard" id="act_module_activate_upgrade">
<field name="name">Perform Pending Activation/Upgrade</field>
<field name="wiz_name">ir.module.activate_upgrade</field>
</record>
<record model="ir.action.keyword" id="act_module_install_upgrade_keyword1">
<field name="action" ref="act_module_install_upgrade"/>
<record model="ir.action.keyword" id="act_module_activate_upgrade_keyword1">
<field name="action" ref="act_module_activate_upgrade"/>
<field name="keyword">form_action</field>
<field name="model">ir.module,-1</field>
</record>
<record model="ir.ui.view" id="module_install_upgrade_start_view_form">
<field name="model">ir.module.install_upgrade.start</field>
<record model="ir.ui.view" id="module_activate_upgrade_start_view_form">
<field name="model">ir.module.activate_upgrade.start</field>
<field name="type">form</field>
<field name="name">module_install_upgrade_start_form</field>
<field name="name">module_activate_upgrade_start_form</field>
</record>
<record model="ir.ui.view" id="module_install_upgrade_done_view_form">
<field name="model">ir.module.install_upgrade.done</field>
<record model="ir.ui.view" id="module_activate_upgrade_done_view_form">
<field name="model">ir.module.activate_upgrade.done</field>
<field name="type">form</field>
<field name="name">module_install_upgrade_done_form</field>
<field name="name">module_activate_upgrade_done_form</field>
</record>
<menuitem name="Perform Pending Installation/Upgrade"
<menuitem name="Perform Pending Activation/Upgrade"
parent="menu_modules"
action="act_module_install_upgrade"
id="menu_module_install_upgrade"/>
action="act_module_activate_upgrade"
id="menu_module_activate_upgrade"/>
<record model="ir.action.wizard" id="act_module_config">
<field name="name">Configure Modules</field>
+20 -20
View File
@@ -526,8 +526,8 @@ this repository contains the full copyright notices and license terms. -->
<field name="rule_group" ref="rule_group_action_url"/>
</record>
<record model="ir.action-res.group" id="act_module_install_upgrade_group_admin">
<field name="action" ref="ir.act_module_install_upgrade"/>
<record model="ir.action-res.group" id="act_module_activate_upgrade_group_admin">
<field name="action" ref="ir.act_module_activate_upgrade"/>
<field name="group" ref="group_admin"/>
</record>
<record model="ir.action-res.group" id="act_translation_update_group_admin">
@@ -691,8 +691,8 @@ this repository contains the full copyright notices and license terms. -->
<field name="menu" ref="ir.menu_config_wizard_item_form"/>
<field name="group" ref="group_admin"/>
</record>
<record model="ir.ui.menu-res.group" id="menu_module_install_upgrade_group_admin">
<field name="menu" ref="ir.menu_module_install_upgrade"/>
<record model="ir.ui.menu-res.group" id="menu_module_activate_upgrade_group_admin">
<field name="menu" ref="ir.menu_module_activate_upgrade"/>
<field name="group" ref="group_admin"/>
</record>
<record model="ir.ui.menu-res.group" id="menu_trigger_form_group_admin">
@@ -700,43 +700,43 @@ this repository contains the full copyright notices and license terms. -->
<field name="group" ref="group_admin"/>
</record>
<record model="ir.model.button" id="module_install_button">
<field name="name">install</field>
<record model="ir.model.button" id="module_activate_button">
<field name="name">activate</field>
<field name="model" search="[('model', '=', 'ir.module')]"/>
</record>
<record model="ir.model.button-res.group"
id="module_install_button_group_admin">
<field name="button" ref="module_install_button"/>
id="module_activate_button_group_admin">
<field name="button" ref="module_activate_button"/>
<field name="group" ref="group_admin"/>
</record>
<record model="ir.model.button" id="module_install_cancel_button">
<field name="name">install_cancel</field>
<record model="ir.model.button" id="module_activate_cancel_button">
<field name="name">activate_cancel</field>
<field name="model" search="[('model', '=', 'ir.module')]"/>
</record>
<record model="ir.model.button-res.group"
id="module_install_cancel_button_group_admin">
<field name="button" ref="module_install_cancel_button"/>
id="module_activate_cancel_button_group_admin">
<field name="button" ref="module_activate_cancel_button"/>
<field name="group" ref="group_admin"/>
</record>
<record model="ir.model.button" id="module_uninstall_button">
<field name="name">uninstall</field>
<record model="ir.model.button" id="module_deactivate_button">
<field name="name">deactivate</field>
<field name="model" search="[('model', '=', 'ir.module')]"/>
</record>
<record model="ir.model.button-res.group"
id="module_uninstall_button_group_admin">
<field name="button" ref="module_uninstall_button"/>
id="module_deactivate_button_group_admin">
<field name="button" ref="module_deactivate_button"/>
<field name="group" ref="group_admin"/>
</record>
<record model="ir.model.button" id="module_uninstall_cancel_button">
<field name="name">uninstall_cancel</field>
<record model="ir.model.button" id="module_deactivate_cancel_button">
<field name="name">deactivate_cancel</field>
<field name="model" search="[('model', '=', 'ir.module')]"/>
</record>
<record model="ir.model.button-res.group"
id="module_uninstall_cancel_button_group_admin">
<field name="button" ref="module_uninstall_cancel_button"/>
id="module_deactivate_cancel_button_group_admin">
<field name="button" ref="module_deactivate_cancel_button"/>
<field name="group" ref="group_admin"/>
</record>
+3 -3
View File
@@ -2,7 +2,7 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import unittest
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.transaction import Transaction
from trytond.pool import Pool
from trytond.exceptions import UserError
@@ -15,7 +15,7 @@ class ModelAccessTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction(context=_context)
def test_perm_read(self):
@@ -352,7 +352,7 @@ class ModelFieldAccessTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction(context=_context)
def test0010perm_read(self):
+2 -2
View File
@@ -3,7 +3,7 @@
# this repository contains the full copyright notices and license terms.
import unittest
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.pool import Pool
@@ -12,7 +12,7 @@ class CopyTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_one2many(self):
+2 -2
View File
@@ -12,7 +12,7 @@ except ImportError:
import unittest
from decimal import Decimal
import datetime
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.pool import Pool
@@ -21,7 +21,7 @@ class ExportDataTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_boolean(self):
+2 -2
View File
@@ -3,7 +3,7 @@
import unittest
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.pool import Pool
@@ -12,7 +12,7 @@ class FieldContextTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_context(self):
+2 -2
View File
@@ -15,7 +15,7 @@ import shutil
import tempfile
from decimal import Decimal
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.transaction import Transaction
from trytond.exceptions import UserError
from trytond.model import fields
@@ -28,7 +28,7 @@ class FieldsTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
def setUp(self):
path = config.get('database', 'path')
+2 -2
View File
@@ -3,7 +3,7 @@
import unittest
import datetime
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.transaction import Transaction
from trytond.pool import Pool
from trytond.exceptions import UserError
@@ -15,7 +15,7 @@ class HistoryTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def tearDown(self):
+2 -2
View File
@@ -4,7 +4,7 @@
import unittest
from decimal import InvalidOperation
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.transaction import Transaction
from trytond.pool import Pool
from trytond.exceptions import UserError
@@ -15,7 +15,7 @@ class ImportDataTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_boolean(self):
+2 -2
View File
@@ -5,7 +5,7 @@
import unittest
import urllib
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.transaction import Transaction
from trytond.pool import Pool
from trytond.url import HOSTNAME
@@ -16,7 +16,7 @@ class UrlTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def testModelURL(self):
+2 -2
View File
@@ -4,7 +4,7 @@
import unittest
from trytond.pool import Pool
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
class ModelTestCase(unittest.TestCase):
@@ -12,7 +12,7 @@ class ModelTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_repr(self):
+2 -2
View File
@@ -3,7 +3,7 @@
# this repository contains the full copyright notices and license terms.
import unittest
from datetime import datetime
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.transaction import Transaction
from trytond.pool import Pool
@@ -13,7 +13,7 @@ class ModelSingletonTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_read(self):
+2 -2
View File
@@ -11,7 +11,7 @@ from trytond import backend
from trytond.exceptions import UserError, ConcurrencyException
from trytond.transaction import Transaction
from trytond.pool import Pool
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
class ModelSQLTestCase(unittest.TestCase):
@@ -19,7 +19,7 @@ class ModelSQLTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@unittest.skipIf(backend.name() == 'sqlite',
'SQLite not concerned because tryton don\'t set "NOT NULL"'
+2 -2
View File
@@ -6,7 +6,7 @@ import unittest
from trytond.error import UserError
from trytond.pool import Pool
from trytond.transaction import Transaction
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
class ModelStorageTestCase(unittest.TestCase):
@@ -14,7 +14,7 @@ class ModelStorageTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_search_read_order(self):
+2 -2
View File
@@ -3,7 +3,7 @@
import unittest
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.pool import Pool
from trytond.exceptions import UserError
@@ -13,7 +13,7 @@ class ModelView(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_changed_values(self):
+2 -2
View File
@@ -4,7 +4,7 @@
import sys
import unittest
from mock import patch
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.transaction import Transaction
from trytond.pool import Pool
@@ -14,7 +14,7 @@ class MPTTTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
def check_tree(self, parent_id=None, left=-1, right=sys.maxint):
pool = Pool()
+2 -2
View File
@@ -2,7 +2,7 @@
# this repository contains the full copyright notices and license terms.
import unittest
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.pool import Pool
@@ -11,7 +11,7 @@ class SequenceOrderedMixinTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_order(self):
+2 -2
View File
@@ -8,7 +8,7 @@ from mock import Mock, patch, call
from trytond.sendmail import (
sendmail_transactional, sendmail, SMTPDataManager, get_smtp_server)
from trytond.transaction import Transaction
from .test_tryton import with_transaction, install_module
from .test_tryton import with_transaction, activate_module
class SendmailTestCase(unittest.TestCase):
@@ -16,7 +16,7 @@ class SendmailTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_sendmail_transactional(self):
+2 -2
View File
@@ -3,7 +3,7 @@
# this repository contains the full copyright notices and license terms.
import unittest
import datetime
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.transaction import Transaction
from trytond.pool import Pool
from trytond.exceptions import UserError
@@ -14,7 +14,7 @@ class SequenceTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_incremental(self):
+2 -2
View File
@@ -2,7 +2,7 @@
# this repository contains the full copyright notices and license terms.
import unittest
from mock import Mock
from trytond.tests.test_tryton import DB_NAME, USER, CONTEXT, install_module
from trytond.tests.test_tryton import DB_NAME, USER, CONTEXT, activate_module
from trytond.transaction import Transaction
@@ -22,7 +22,7 @@ class TransactionTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
def test_nonexistdb(self):
'''Attempt opening a transaction with a non existant DB
+2 -2
View File
@@ -6,7 +6,7 @@ import time
import datetime
from itertools import combinations
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.tests.trigger import TRIGGER_LOGS
from trytond.transaction import Transaction
from trytond.pool import Pool
@@ -19,7 +19,7 @@ class TriggerTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_constraints(self):
+10 -10
View File
@@ -24,7 +24,7 @@ from trytond.cache import Cache
from trytond.config import config, parse_uri
__all__ = ['POOL', 'DB_NAME', 'USER', 'CONTEXT',
'install_module', 'ModuleTestCase', 'with_transaction',
'activate_module', 'ModuleTestCase', 'with_transaction',
'doctest_setup', 'doctest_teardown', 'doctest_checker',
'suite', 'all_suite', 'modules_suite']
@@ -38,9 +38,9 @@ Pool.test = True
POOL = Pool(DB_NAME)
def install_module(name):
def activate_module(name):
'''
Install module for the tested database
Activate module for the tested database
'''
if not db_exist(DB_NAME) and restore_db_cache(name):
return
@@ -55,19 +55,19 @@ def install_module(name):
modules = Module.search([
('name', '=', name),
('state', '!=', 'installed'),
('state', '!=', 'activated'),
])
if modules:
Module.install(modules)
Module.activate(modules)
transaction.commit()
InstallUpgrade = POOL.get('ir.module.install_upgrade',
ActivateUpgrade = POOL.get('ir.module.activate_upgrade',
type='wizard')
instance_id, _, _ = InstallUpgrade.create()
instance_id, _, _ = ActivateUpgrade.create()
transaction.commit()
InstallUpgrade(instance_id).transition_upgrade()
InstallUpgrade.delete(instance_id)
ActivateUpgrade(instance_id).transition_upgrade()
ActivateUpgrade.delete(instance_id)
transaction.commit()
backup_db_cache(name)
@@ -179,7 +179,7 @@ class ModuleTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
drop_db()
install_module(cls.module)
activate_module(cls.module)
super(ModuleTestCase, cls).setUpClass()
@classmethod
+2 -2
View File
@@ -2,7 +2,7 @@
# this repository contains the full copyright notices and license terms.
import unittest
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.pool import Pool
@@ -11,7 +11,7 @@ class UnionMixinTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_union(self):
+2 -2
View File
@@ -2,7 +2,7 @@
# repository contains the full copyright notices and license terms.
import unittest
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.pool import Pool
from trytond.res.user import bcrypt
from trytond.config import config
@@ -13,7 +13,7 @@ class UserTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('res')
activate_module('res')
def setUp(self):
methods = config.get('session', 'authentications')
+2 -2
View File
@@ -1,7 +1,7 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of this
# repository contains the full copyright notices and license terms.
import unittest
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.transaction import Transaction
from trytond.pool import Pool
@@ -10,7 +10,7 @@ class WizardTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
@with_transaction()
def test_create(self):
+2 -2
View File
@@ -3,7 +3,7 @@
import unittest
from trytond.tests.test_tryton import install_module, with_transaction
from trytond.tests.test_tryton import activate_module, with_transaction
from trytond.pool import Pool
@@ -11,7 +11,7 @@ class WorkflowTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
install_module('tests')
activate_module('tests')
# TODO add test for Workflow.transition
@with_transaction()
+3 -3
View File
@@ -5,7 +5,7 @@ from proteus import config, Model, Wizard
from .test_tryton import restore_db_cache, backup_db_cache, drop_create
def install_modules(modules):
def activate_modules(modules):
if isinstance(modules, basestring):
modules = [modules]
cache_name = '-'.join(modules)
@@ -18,8 +18,8 @@ def install_modules(modules):
modules = Module.find([
('name', 'in', modules),
])
Module.click(modules, 'install')
Wizard('ir.module.install_upgrade').execute('upgrade')
Module.click(modules, 'activate')
Wizard('ir.module.activate_upgrade').execute('upgrade')
backup_db_cache(cache_name)
return cfg