diff --git a/features/environment.py b/features/environment.py index a4bc109..c927c2c 100644 --- a/features/environment.py +++ b/features/environment.py @@ -26,14 +26,6 @@ def _output_write(text): 'db_name': database, 'openerp_config': server.tools.config, } - # We try to manage default login - # even if there is a sentence to log a given user - # Just add options.admin_login_password in your buildout to log from config - admin_login_password = server.tools.config.get('admin_login_password') - if admin_login_password: - ctx.client.login('admin', admin_login_password, database=database) - else: - ctx.client.login('admin', 'admin', database=database) def before_feature(ctx, feature): @@ -45,6 +37,19 @@ def before_scenario(ctx, scenario): ctx.oe_context = {} if not hasattr(ctx, 'data'): ctx.data = {} + # do not login if tag `no_login` is present + # this allow to do database creation and sql requests + # before trying to login in Odoo + if not ctx.client.user and 'no_login' not in scenario.tags: + server = ctx.conf['server'] + database = ctx.conf['db_name'] + config = server.tools.config + # We try to manage default login + # even if there is a sentence to log a given user + # Just add options.admin_login_password in your buildout to log from + # config + admin_login_password = config.get('admin_login_password', 'admin') + ctx.client.login('admin', admin_login_password, database=database) def before_step(ctx, step):