From 8d3f8347cd0887b9610a49246acab4efb647918f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 30 Aug 2016 12:15:57 +0200 Subject: [PATCH] Add test about sanitize path in file_open issue5808 review28691002 --- trytond/tests/test_tools.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/trytond/tests/test_tools.py b/trytond/tests/test_tools.py index 39ea282267..d74f4ae851 100644 --- a/trytond/tests/test_tools.py +++ b/trytond/tests/test_tools.py @@ -9,7 +9,7 @@ import sql import sql.operators from trytond.tools import reduce_ids, datetime_strftime, \ - reduce_domain, decimal_, is_instance_method + reduce_domain, decimal_, is_instance_method, file_open class ToolsTestCase(unittest.TestCase): @@ -114,6 +114,20 @@ class ToolsTestCase(unittest.TestCase): self.assertFalse(is_instance_method(Foo, 'klass')) self.assertTrue(is_instance_method(Foo, 'instance')) + def test_file_open(self): + "Test file_open" + self.assertTrue(file_open('__init__.py', subdir=None)) + self.assertTrue(file_open('ir/__init__.py')) + + with self.assertRaisesRegexp(IOError, "File not found :"): + file_open('ir/noexist') + + with self.assertRaisesRegexp(IOError, "Permission denied:"): + file_open('/etc/passwd') + + with self.assertRaisesRegexp(IOError, "Permission denied:"): + file_open('../../foo') + def suite(): func = unittest.TestLoader().loadTestsFromTestCase