Fix tests on Python3.10

Both test_property_protection_with_missing_operation and
test_property_protection_with_misspelt_operation rely on a bug in Python
3.9: the "]" character in a section name is not read, so section
'^[0-9]' is read as '^[0-9'. This causes _compile_rule to fail and raise
the exception the tests are expecting.

In Python 3.10, this bug has been fixed and the exception is no longer
raised. Instead, CONFIG.get() raises a NoOptionError in _load_rules,
which is not caught.

Closes-Bug: #1954321
Change-Id: Ibce11ac002dc900299d478ea875797dd1f8df17e
This commit is contained in:
Cyril Roelandt
2022-01-18 00:43:08 +01:00
parent 502fa0ffc8
commit 800ba9645d

View File

@@ -134,7 +134,10 @@ class PropertyRules(object):
compiled_rule = self._compile_rule(property_exp)
for operation in operations:
permissions = CONFIG.get(property_exp, operation)
try:
permissions = CONFIG.get(property_exp, operation)
except configparser.NoOptionError:
raise InvalidPropProtectConf()
if permissions:
if self.prop_prot_rule_format == 'policies':
if ',' in permissions: