Browse Source

publish muk_security - 11.0

pull/19/head
MuK IT GmbH 6 years ago
parent
commit
63fd11e118
  1. 2
      muk_security/__manifest__.py
  2. 49
      muk_security/tests/test_suspend_security.py

2
muk_security/__manifest__.py

@ -20,7 +20,7 @@
{
"name": "MuK Security",
"summary": """Security Features""",
"version": "11.0.1.1.7",
"version": "11.0.1.1.8",
"category": "Extra Tools",
"license": "AGPL-3",
"website": "http://www.mukit.at",

49
muk_security/tests/test_suspend_security.py

@ -16,35 +16,66 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###################################################################################
import os
import base64
import logging
from odoo import exceptions
from odoo.tests import common
_path = os.path.dirname(os.path.dirname(__file__))
_logger = logging.getLogger(__name__)
class SuspendSecurityTestCase(common.TransactionCase):
at_install = False
post_install = True
def setUp(self):
super(SuspendSecurityTestCase, self).setUp()
def tearDown(self):
super(SuspendSecurityTestCase, self).tearDown()
def test_suspend_security(self):
user_id = self.env.ref('base.user_demo').id
other_company = self.env['res.company'].create({
'name': 'other company',
# without this, a partner is created and mail's constraint on
# notify_email kicks in
'partner_id': self.env.ref('base.partner_demo').id,
})
with self.assertRaises(exceptions.AccessError):
self.env.ref('base.user_root').sudo(user_id).name = 'test'
with self.assertRaises(exceptions.AccessError):
other_company.sudo(user_id).name = 'test'
self.env.ref('base.user_root').sudo(user_id).suspend_security().name = 'test'
self.assertEqual(self.env.ref('base.user_root').name, 'test')
self.assertEqual(self.env.ref('base.user_root').write_uid.id, user_id)
# this tests ir.rule
other_company.sudo(user_id).suspend_security().write({'name': 'test'})
self.assertEqual(other_company.name, 'test')
self.assertEqual(other_company.write_uid.id, user_id)
# this tests if _normalize_args conversion works
self.env['res.users'].browse(
self.env['res.users'].suspend_security().env.uid)
# Test normal search on One2many
partner = self.env['res.partner'].search(
[('user_ids.id', '=', self.env.user.suspend_security().env.uid)],
limit=1)
self.assertEqual(partner, self.env.user.partner_id)
# Test search on One2many without specifing ID (standard Odoo)
partner = self.env['res.partner'].search(
[('user_ids', '=', self.env.uid)],
limit=1)
self.assertEqual(partner, self.env.user.partner_id)
# Test search on One2many without specifing ID (suspend_security)
partner = self.env['res.partner'].search(
[('user_ids', '=', self.env.user.suspend_security().env.uid)],
limit=1)
self.assertEqual(partner, self.env.user.partner_id)
# Test search on One2many without ID with IN (standard Odoo)
partner = self.env['res.partner'].search(
[('user_ids', 'in', self.env.uid)],
limit=1)
self.assertEqual(partner, self.env.user.partner_id)
# Test search on One2many without ID with IN (suspend_security)
partner = self.env['res.partner'].search(
[('user_ids', 'in', self.env.user.suspend_security().env.uid)],
limit=1)
self.assertEqual(partner, self.env.user.partner_id)
def test_normalize(self):
self.env['res.users'].browse(self.env['res.users'].suspend_security().env.uid)
Loading…
Cancel
Save