[IMP] base : Improved the typos.
[odoo/odoo.git] / openerp / tests / test_xmlrpc.py
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
9 import time
10 import unittest2
11 import xmlrpclib
12
13 import openerp
14 import common
15
16 DB = None
17 ADMIN_USER = common.ADMIN_USER
18 ADMIN_USER_ID = common.ADMIN_USER_ID
19 ADMIN_PASSWORD = common.ADMIN_PASSWORD
20
21 def setUpModule():
22     common.start_openerp()
23     global DB
24     DB = common.RpcCase.generate_database_name()
25
26 tearDownModule = common.stop_openerp
27
28 class test_xmlrpc(common.RpcCase):
29
30     def test_00_xmlrpc_create_database_polling(self):
31         """
32         Simulate a OpenERP client requesting the creation of a database and
33         polling the server until the creation is complete.
34         """
35         progress_id = self.proxy.db_60.create(ADMIN_PASSWORD,DB, True, False,
36             ADMIN_PASSWORD)
37         while True:
38             time.sleep(1)
39             progress, users = self.proxy.db_60.get_progress(ADMIN_PASSWORD,
40                 progress_id)
41             if progress == 1.0:
42                 break
43
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
48
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', [])
53         assert ids
54         ids = self.proxy.object_60.execute(DB, ADMIN_USER_ID, ADMIN_PASSWORD,
55             'ir.model', 'search', [], {})
56         assert ids
57
58     def test_xmlrpc_61_ir_model_search(self):
59         """ Try a search on the object service. """
60
61         proxy = xmlrpclib.ServerProxy(self.proxy.url_61 + 'model/' + DB +
62             '/ir.model')
63         ids = proxy.execute(ADMIN_USER_ID, ADMIN_PASSWORD, 'search', [])
64         assert ids
65         ids = proxy.execute(ADMIN_USER_ID, ADMIN_PASSWORD, 'search', [], {})
66         assert ids
67
68     def test_zz_xmlrpc_drop_database(self):
69         """
70         Simulate a OpenERP client requesting the deletion of a database.
71         """
72         assert self.proxy.db_60.drop(ADMIN_PASSWORD, DB) is True
73
74 if __name__ == '__main__':
75     unittest2.main()
76
77
78 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: