[IMP] core,test_access_rights: improve exept_orm stringification

In most case, except_orm.value is empty, leading to a str
representation of the args, which is a repr of each element
of the tuple in the case of exept_orm:
(repr(name), repr(value)) -> ('name', None)

In this case, the None value is just noise and the name will be repr
causing "'" to be escaped and replacing carriage return
by "\n" making it difficult to read and to compare.
This commit is contained in:
Xavier-Do
2019-11-13 11:05:14 +00:00
parent eb2f0aabcf
commit c403aec2aa
2 changed files with 14 additions and 8 deletions
@@ -189,11 +189,11 @@ class TestIRRuleFeedback(Feedback):
p = self.env['test_access_right.parent'].create({'obj_id': self.record.id})
self.assertRaisesRegex(
with self.assertRaisesRegex(
AccessError,
r"Implicitly accessed through \\'Object for testing related access rights\\' \(test_access_right.parent\)\.",
p.with_user(self.user).write, {'val': 1}
)
r"Implicitly accessed through 'Object for testing related access rights' \(test_access_right.parent\)\.",
):
p.with_user(self.user).write({'val': 1})
def test_locals(self):
self.env.ref('base.group_no_one').write(
@@ -308,11 +308,11 @@ Note: this might be a multi-company issue.
p = self.env['test_access_right.parent'].create({'obj_id': self.record.id})
p.flush()
p.invalidate_cache()
self.assertRaisesRegex(
with self.assertRaisesRegex(
AccessError,
r"Implicitly accessed through \\'Object for testing related access rights\\' \(test_access_right.parent\)\.",
lambda: p.with_user(self.user).val
)
r"Implicitly accessed through 'Object for testing related access rights' \(test_access_right.parent\)\.",
):
p.with_user(self.user).val
class TestFieldGroupFeedback(Feedback):
+6
View File
@@ -29,6 +29,12 @@ class except_orm(Exception):
self.value = value
self.args = (name, value)
def __str__(self):
if not self.value:
return str(self.name)
else:
return super().__str__()
class UserError(except_orm):
"""Generic error managed by the client.