Skip to content

Commit 3482c08

Browse files
committed
Fix tests
1 parent 1fdcfbe commit 3482c08

File tree

4 files changed

+15
-10
lines changed

4 files changed

+15
-10
lines changed

odooly.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,7 @@ def _req(self, url, json, headers, method):
612612
def _check(self, uid=None):
613613
url = urljoin(self._server, f'{self._endpoint}/res.users/context_get')
614614
try:
615-
context = self._http.request(url, json={}, headers=self._headers, method='POST')
615+
context = self._http.request(url, json={}, headers=self._headers)
616616
except (OSError, ServerError):
617617
return False
618618
return self if (not uid or uid == context['uid']) else False

tests/test_client.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -314,14 +314,15 @@ class TestSampleSession(XmlRpcTestCase):
314314

315315
def test_simple(self):
316316
self.service.object.execute_kw.side_effect = [
317-
4, 71, [{'model': 'ir.cron'}], sentinel.IDS, sentinel.CRON]
317+
4, True, 71, [{'model': 'ir.cron'}], sentinel.IDS, sentinel.CRON]
318318

319319
res_users = self.env['res.users']
320320
self.assertEqual(res_users.search_count(), 4)
321321
self.assertEqual(self.env['ir.cron'].read(
322322
['active = False'], 'active function'), sentinel.CRON)
323323
self.assertCalls(
324324
OBJ('res.users', 'search_count', []),
325+
OBJ('ir.model.access', 'check', 'ir.model', 'read'),
325326
OBJ('ir.model', 'search', [('model', 'like', 'ir.cron')]),
326327
OBJ('ir.model', 'read', 71, ('model',)),
327328
OBJ('ir.cron', 'search', [('active', '=', False)]),
@@ -481,23 +482,23 @@ def test_model(self):
481482

482483
if float(self.server_version) < 8.0:
483484
expected_calls = [
485+
OBJ('ir.model.access', 'check', 'ir.model', 'read'),
484486
OBJ('ir.model', 'search', [('model', 'like', 'foo.bar')]),
485487
OBJ('ir.model', 'read', [ID2, ID1], ('model',)),
486488
]
487-
side_effect = [[ID2, ID1], [{'id': 13, 'model': 'foo.bar'}]]
489+
side_effect = [True, [ID2, ID1], [{'id': 13, 'model': 'foo.bar'}]]
488490
else:
489491
expected_calls = [
492+
OBJ('ir.model.access', 'check', 'ir.model', 'read'),
490493
OBJ('ir.model', 'search_read', [('model', 'like', 'foo.bar')], ('model',)),
491494
]
492-
side_effect = [[{'id': 13, 'model': 'foo.bar'}]]
495+
side_effect = [True, [{'id': 13, 'model': 'foo.bar'}]]
493496

494497
self.assertTrue(self.env.models('foo.bar'))
495-
self.assertCalls(*expected_calls)
496-
self.assertOutput('')
498+
self.assertCalls(*expected_calls[1:])
497499

498500
self.assertRaises(odooly.Error, self.env.__getitem__, 'foo.bar')
499501
self.assertCalls(*expected_calls)
500-
self.assertOutput('')
501502

502503
self.service.object.execute_kw.side_effect = side_effect
503504
self.assertIsInstance(self.env['foo.bar'], odooly.Model)

tests/test_interact.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def test_invalid_user_password(self):
117117
mock.patch('odooly.getpass', return_value='x').start()
118118
self.service.db.list.return_value = ['database']
119119
self.service.common.login.side_effect = [17, None]
120-
self.service.object.execute_kw.side_effect = [{}, 42, {}, 42, {}, 42]
120+
self.service.object.execute_kw.side_effect = [{}, True, 42, {}, True, 42, {}, 42]
121121

122122
# Launch interactive
123123
self.infunc.side_effect = [
@@ -133,10 +133,12 @@ def usr17(model, method, *params):
133133
expected_calls = self.startup_calls + (
134134
('common.login', 'database', 'usr', 'passwd'),
135135
('object.execute_kw', 'database', 17, 'passwd', 'res.users', 'context_get', ()),
136+
('object.execute_kw', 'database', 17, 'passwd', 'ir.model.access', 'check', ('ir.model', 'read')),
136137
usr17('ir.model', 'search',
137138
[('model', 'like', 'res.company')]),
138139
usr17('ir.model', 'read', 42, ('model',)),
139140
('common.login', 'database', 'gaspard', 'x'),
141+
('object.execute_kw', 'database', 17, 'passwd', 'ir.model.access', 'check', ('ir.model', 'read')),
140142
usr17('ir.model', 'search',
141143
[('model', 'like', 'res.company')]),
142144
usr17('ir.model', 'read', 42, ('model',)),

tests/test_model.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,11 @@ def test_model(self):
128128
self.assertRaises(odooly.Error, self.env.__getitem__, 'mic.mac')
129129
self.assertRaises(AttributeError, getattr, self.client, 'MicMac')
130130
expected_calls = [
131+
OBJ('ir.model.access', 'check', 'ir.model', 'read'),
131132
OBJ('ir.model', 'search_read', [('model', 'like', 'mic.mac')], ('model',)),
132133
]
133134
if float(self.server_version) < 8.0:
134-
expected_calls = [
135+
expected_calls[1:] = [
135136
OBJ('ir.model', 'search', [('model', 'like', 'mic.mac')]),
136137
OBJ('ir.model', 'read', ANY, ('model',)),
137138
]
@@ -143,10 +144,11 @@ def test_model(self):
143144
self.assertEqual(self.env['foo.bar']._name, 'foo.bar')
144145

145146
expected_calls = [
147+
OBJ('ir.model.access', 'check', 'ir.model', 'read'),
146148
OBJ('ir.model', 'search_read', [('model', 'like', 'foo.bar')], ('model',)),
147149
]
148150
if float(self.server_version) < 8.0:
149-
expected_calls = [
151+
expected_calls[1:] = [
150152
OBJ('ir.model', 'search', [('model', 'like', 'foo.bar')]),
151153
OBJ('ir.model', 'read', [777], ('model',)),
152154
]

0 commit comments

Comments
 (0)