1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
# -*- coding: utf-8 -*-
import numbers
import time
import odoorpc
from odoorpc.tests import LoginTestCase
class TestExecuteKw(LoginTestCase):
# ------
# Search
# ------
def test_execute_kw_search_with_good_args(self):
# Check the result returned
result = self.odoo.execute_kw('res.users', 'search', [[]], {})
self.assertIsInstance(result, list)
self.assertIn(self.user.id, result)
result = self.odoo.execute_kw(
'res.users',
'search',
[[('id', '=', self.user.id)]],
{'order': 'name'},
)
self.assertIn(self.user.id, result)
self.assertEqual(result[0], self.user.id)
def test_execute_kw_search_without_args(self):
# Handle exception (execute a 'search' without args)
self.assertRaises(
odoorpc.error.RPCError, self.odoo.execute_kw, 'res.users', 'search'
)
def test_execute_kw_search_with_wrong_args(self):
# Handle exception (execute a 'search' with wrong args)
self.assertRaises(
odoorpc.error.RPCError,
self.odoo.execute_kw,
'res.users',
'search',
False,
False,
) # Wrong args
def test_execute_kw_search_with_wrong_model(self):
# Handle exception (execute a 'search' with a wrong model)
self.assertRaises(
odoorpc.error.RPCError,
self.odoo.execute_kw,
'wrong.model', # Wrong model
'search',
[[]],
{},
)
def test_execute_kw_search_with_wrong_method(self):
# Handle exception (execute a 'search' with a wrong method)
self.assertRaises(
odoorpc.error.RPCError,
self.odoo.execute_kw,
'res.users',
'wrong_method', # Wrong method
[[]],
{},
)
# ------
# Create
# ------
def test_execute_kw_create_with_good_args(self):
login = "{}_{}".format("foobar", time.time())
# Check the result returned
result = self.odoo.execute_kw(
'res.users', 'create', [{'name': login, 'login': login}]
)
self.assertIsInstance(result, numbers.Number)
# Handle exception (create another user with the same login)
self.assertRaises(
odoorpc.error.RPCError,
self.odoo.execute_kw,
'res.users',
'create',
[{'name': login, 'login': login}],
)
def test_execute_kw_create_without_args(self):
# Handle exception (execute a 'create' without args)
self.assertRaises(
odoorpc.error.RPCError, self.odoo.execute_kw, 'res.users', 'create'
)
def test_execute_kw_create_with_wrong_args(self):
# Handle exception (execute a 'create' with wrong args)
self.assertRaises(
odoorpc.error.RPCError,
self.odoo.execute_kw,
'res.users',
'create',
True,
True,
) # Wrong args
|