1 # -*- coding: utf-8 -*-
2 # Run with one of these commands:
3 # > OPENERP_ADDONS_PATH='../../addons/trunk' OPENERP_PORT=8069 \
4 # OPENERP_DATABASE=yy PYTHONPATH=. python tests/test_xmlrpc.py
5 # > OPENERP_ADDONS_PATH='../../addons/trunk' OPENERP_PORT=8069 \
6 # OPENERP_DATABASE=yy nosetests tests/test_xmlrpc.py
7 # > OPENERP_ADDONS_PATH='../../../addons/trunk' OPENERP_PORT=8069 \
8 # OPENERP_DATABASE=yy PYTHONPATH=../:. unit2 test_xmlrpc
17 ADMIN_USER = common.ADMIN_USER
18 ADMIN_USER_ID = common.ADMIN_USER_ID
19 ADMIN_PASSWORD = common.ADMIN_PASSWORD
22 common.start_openerp()
24 DB = common.RpcCase.generate_database_name()
26 tearDownModule = common.stop_openerp
28 class test_xmlrpc(common.RpcCase):
30 def test_00_xmlrpc_create_database_polling(self):
32 Simulate a OpenERP client requesting the creation of a database and
33 polling the server until the creation is complete.
35 progress_id = self.proxy.db_60.create(ADMIN_PASSWORD,DB, True, False,
39 progress, users = self.proxy.db_60.get_progress(ADMIN_PASSWORD,
44 def test_xmlrpc_login(self):
45 """ Try to login on the common service. """
46 uid = self.proxy.common_60.login(DB, ADMIN_USER, ADMIN_PASSWORD)
47 assert uid == ADMIN_USER_ID
49 def test_xmlrpc_ir_model_search(self):
50 """ Try a search on the object service. """
51 ids = self.proxy.object_60.execute(DB, ADMIN_USER_ID, ADMIN_PASSWORD,
52 'ir.model', 'search', [])
54 ids = self.proxy.object_60.execute(DB, ADMIN_USER_ID, ADMIN_PASSWORD,
55 'ir.model', 'search', [], {})
58 def test_xmlrpc_61_ir_model_search(self):
59 """ Try a search on the object service. """
61 proxy = xmlrpclib.ServerProxy(self.proxy.url_61 + 'model/' + DB +
63 ids = proxy.execute(ADMIN_USER_ID, ADMIN_PASSWORD, 'search', [])
65 ids = proxy.execute(ADMIN_USER_ID, ADMIN_PASSWORD, 'search', [], {})
68 def test_zz_xmlrpc_drop_database(self):
70 Simulate a OpenERP client requesting the deletion of a database.
72 assert self.proxy.db_60.drop(ADMIN_PASSWORD, DB) is True
74 if __name__ == '__main__':
78 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: