1 # -*- coding: utf-8 -*-
9 # The openerp library is supposed already configured.
10 ADDONS_PATH = openerp.tools.config['addons_path']
11 PORT = openerp.tools.config['xmlrpc_port']
12 DB = openerp.tools.config['db_name']
18 ADMIN_PASSWORD = 'admin'
22 Start the OpenERP server similary to the openerp-server script.
24 openerp.service.start_services()
26 # Ugly way to ensure the server is listening.
31 Shutdown the OpenERP server similarly to a single ctrl-c.
33 openerp.service.stop_services()
35 class TransactionCase(unittest2.TestCase):
37 Subclass of TestCase with a single transaction, rolled-back at the end of
42 self.cr = openerp.modules.registry.RegistryManager.get(DB).db.cursor()
43 self.uid = openerp.SUPERUSER_ID
49 def registry(self, model):
50 return openerp.modules.registry.RegistryManager.get(DB)[model]
52 class RpcCase(unittest2.TestCase):
54 Subclass of TestCase with a few XML-RPC proxies.
57 def __init__(self, name):
58 super(RpcCase, self).__init__(name)
64 # Use the old (pre 6.1) API.
65 self.proxy.url_60 = url_60 = 'http://%s:%d/xmlrpc/' % (HOST, PORT)
66 self.proxy.common_60 = xmlrpclib.ServerProxy(url_60 + 'common')
67 self.proxy.db_60 = xmlrpclib.ServerProxy(url_60 + 'db')
68 self.proxy.object_60 = xmlrpclib.ServerProxy(url_60 + 'object')
70 # Use the new (6.1) API.
71 self.proxy.url_61 = url_61 = 'http://%s:%d/openerp/xmlrpc/1/' % (HOST, PORT)
72 self.proxy.common_61 = xmlrpclib.ServerProxy(url_61 + 'common')
73 self.proxy.db_61 = xmlrpclib.ServerProxy(url_61 + 'db')
74 self.proxy.model_61 = xmlrpclib.ServerProxy(url_61 + 'model/' + DB)
77 def generate_database_name(cls):
78 if hasattr(cls, '_database_id'):
82 return '_fresh_name_' + str(cls._database_id) + '_'
84 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: