[IMP] project: replaced except_orm by AccessError in tests

Comments were referring to Warning rather than AccessError but:
- Warning is deprecated
- The functions that are tested actually raise AccessError
This commit is contained in:
Ravi Gohil
2016-06-30 14:41:22 +02:00
committed by David Monjoie
parent 25dcc5e03c
commit f077a6c7bd
3 changed files with 14 additions and 23 deletions
+11 -19
View File
@@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from openerp.addons.project.tests.test_project_base import TestProjectBase
from openerp.exceptions import AccessError
from openerp.exceptions import except_orm
from openerp.tools import mute_logger
from odoo.addons.project.tests.test_project_base import TestProjectBase
from odoo.exceptions import AccessError
from odoo.tools import mute_logger
class TestPortalProjectBase(TestProjectBase):
@@ -56,9 +55,7 @@ class TestPortalProject(TestPortalProjectBase):
# Do: Chell reads project -> ok (portal ok public)
pigs.sudo(self.user_portal).read(['user_id'])
# Do: Donovan reads project -> ko (public ko portal)
# TODO: Change the except_orm to Warning ( Because here it's call check_access_rule
# which still generate exception in except_orm.)
self.assertRaises(except_orm, pigs.sudo(self.user_public).read, ['user_id'])
self.assertRaises(AccessError, pigs.sudo(self.user_public).read, ['user_id'])
# Test: no access right to project.task
self.assertRaises(AccessError, self.env['project.task'].sudo(self.user_public).search, [])
# Data: task follower cleaning
@@ -80,14 +77,12 @@ class TestPortalProject(TestPortalProjectBase):
# Do: Bert reads project -> crash, no group
self.assertRaises(AccessError, pigs.sudo(self.user_noone).read, ['user_id'])
# Do: Chell reads project -> ko (portal ko employee)
# TODO Change the except_orm to Warning
self.assertRaises(except_orm, pigs.sudo(self.user_portal).read, ['user_id'])
self.assertRaises(AccessError, pigs.sudo(self.user_portal).read, ['user_id'])
# Test: no project task visible + assigned
tasks = self.env['project.task'].sudo(self.user_portal).search([('project_id', '=', pigs.id)])
self.assertFalse(tasks.ids, 'access rights: portal user should not see tasks of an employees project, even if assigned')
# Do: Donovan reads project -> ko (public ko employee)
# TODO Change the except_orm to Warning
self.assertRaises(except_orm, pigs.sudo(self.user_public).read, ['user_id'])
self.assertRaises(AccessError, pigs.sudo(self.user_public).read, ['user_id'])
# Do: project user is employee and can create a task
tmp_task = self.env['project.task'].sudo(self.user_projectuser).with_context({'mail_create_nolog': True}).create({
'name': 'Pigs task',
@@ -100,7 +95,6 @@ class TestPortalProject(TestPortalProjectBase):
pigs.write({'privacy_visibility': 'followers'})
# Do: Alfred reads project -> ko (employee ko followers)
# TODO Change the except_orm to Warning
self.assertRaises(AccessError, pigs.sudo(self.user_projectuser).read, ['user_id'])
# Test: no project task visible
tasks = self.env['project.task'].sudo(self.user_projectuser).search([('project_id', '=', pigs.id)])
@@ -111,15 +105,14 @@ class TestPortalProject(TestPortalProjectBase):
self.assertRaises(AccessError, pigs.sudo(self.user_noone).read, ['user_id'])
# Do: Chell reads project -> ko (portal ko employee)
self.assertRaises(except_orm, pigs.sudo(self.user_portal).read, ['user_id'])
self.assertRaises(AccessError, pigs.sudo(self.user_portal).read, ['user_id'])
# Test: no project task visible
tasks = self.env['project.task'].sudo(self.user_portal).search([('project_id', '=', pigs.id)])
self.assertEqual(tasks, self.task_3,
'access rights: portal user should not see tasks of a not-followed followers project, only assigned')
# Do: Donovan reads project -> ko (public ko employee)
# TODO Change the except_orm to Warning
self.assertRaises(except_orm, pigs.sudo(self.user_public).read, ['user_id'])
self.assertRaises(AccessError, pigs.sudo(self.user_public).read, ['user_id'])
# Data: subscribe Alfred, Chell and Donovan as follower
pigs.message_subscribe_users(user_ids=[self.user_projectuser.id, self.user_portal.id, self.user_public.id])
@@ -133,17 +126,16 @@ class TestPortalProject(TestPortalProjectBase):
# Do: Chell reads project -> ok (follower ok follower)
pigs.sudo(self.user_portal).read(['user_id'])
# Do: Donovan reads project -> ko (public ko follower even if follower)
# TODO Change the except_orm to Warning
self.assertRaises(except_orm, pigs.sudo(self.user_public).read, ['user_id'])
self.assertRaises(AccessError, pigs.sudo(self.user_public).read, ['user_id'])
# Do: project user is follower of the project and can create a task
self.env['project.task'].sudo(self.user_projectuser.id).with_context({'mail_create_nolog': True}).create({
'name': 'Pigs task', 'project_id': pigs.id
})
# not follower user should not be able to create a task
pigs.sudo(self.user_projectuser).message_unsubscribe_users(user_ids=[self.user_projectuser.id])
self.assertRaises(except_orm, self.env['project.task'].sudo(self.user_projectuser).with_context({
self.assertRaises(AccessError, self.env['project.task'].sudo(self.user_projectuser).with_context({
'mail_create_nolog': True}).create, {'name': 'Pigs task', 'project_id': pigs.id})
# Do: project user can create a task without project
self.assertRaises(except_orm, self.env['project.task'].sudo(self.user_projectuser).with_context({
self.assertRaises(AccessError, self.env['project.task'].sudo(self.user_projectuser).with_context({
'mail_create_nolog': True}).create, {'name': 'Pigs task', 'project_id': pigs.id})
+1 -1
View File
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from openerp.addons.mail.tests.common import TestMail
from odoo.addons.mail.tests.common import TestMail
class TestProjectBase(TestMail):
+2 -3
View File
@@ -2,8 +2,7 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from .test_project_base import TestProjectBase
from openerp.exceptions import AccessError
from openerp.tools import mute_logger
from odoo.tools import mute_logger
EMAIL_TPL = """Return-Path: <whatever-2a840@postmaster.twitter.com>
@@ -11,7 +10,7 @@ X-Original-To: {to}
Delivered-To: {to}
To: {to}
cc: {cc}
Received: by mail1.openerp.com (Postfix, from userid 10002)
Received: by mail1.odoo.com (Postfix, from userid 10002)
id 5DF9ABFB2A; Fri, 10 Aug 2012 16:16:39 +0200 (CEST)
Message-ID: {msg_id}
Date: Tue, 29 Nov 2011 12:43:21 +0530