Merge "Only alias when policy names change"
This commit is contained in:
commit
e433a3cbec
@ -193,12 +193,19 @@ def _format_rule_default_yaml(default, include_help=True):
|
|||||||
'check_str': default.check_str,
|
'check_str': default.check_str,
|
||||||
'reason': default.deprecated_reason}
|
'reason': default.deprecated_reason}
|
||||||
|
|
||||||
text = (
|
if default.name != default.deprecated_rule.name:
|
||||||
'%(text)s%(deprecated_text)s\n"%(old_name)s": "rule:%(name)s"\n'
|
text = (
|
||||||
) % {'text': text,
|
'%(text)s%(deprecated_text)s\n"%(old_name)s": "rule:%(name)s"'
|
||||||
'deprecated_text': _format_help_text(deprecated_text),
|
'\n'
|
||||||
'old_name': default.deprecated_rule.name,
|
) % {'text': text,
|
||||||
'name': default.name}
|
'deprecated_text': _format_help_text(deprecated_text),
|
||||||
|
'old_name': default.deprecated_rule.name,
|
||||||
|
'name': default.name}
|
||||||
|
else:
|
||||||
|
text = (
|
||||||
|
'%(text)s%(deprecated_text)s\n'
|
||||||
|
) % {'text': text,
|
||||||
|
'deprecated_text': _format_help_text(deprecated_text)}
|
||||||
|
|
||||||
return text
|
return text
|
||||||
|
|
||||||
|
@ -227,6 +227,49 @@ class GenerateSampleYAMLTestCase(base.PolicyBaseTestCase):
|
|||||||
# favor of "foo:create_bar":"role:fizz". foo:post_bar is being removed
|
# favor of "foo:create_bar":"role:fizz". foo:post_bar is being removed
|
||||||
# in favor of foo:create_bar
|
# in favor of foo:create_bar
|
||||||
"foo:post_bar": "rule:foo:create_bar"
|
"foo:post_bar": "rule:foo:create_bar"
|
||||||
|
'''
|
||||||
|
stdout = self._capture_stdout()
|
||||||
|
with mock.patch('stevedore.named.NamedExtensionManager',
|
||||||
|
return_value=test_mgr) as mock_ext_mgr:
|
||||||
|
generator._generate_sample(['rules'], output_file=None)
|
||||||
|
mock_ext_mgr.assert_called_once_with(
|
||||||
|
'oslo.policy.policies', names=['rules'],
|
||||||
|
on_load_failure_callback=generator.on_load_failure_callback,
|
||||||
|
invoke_on_load=True
|
||||||
|
)
|
||||||
|
self.assertEqual(expected, stdout.getvalue())
|
||||||
|
|
||||||
|
def test_deprecated_policies_with_same_name(self):
|
||||||
|
deprecated_rule = policy.DeprecatedRule(
|
||||||
|
name='foo:create_bar',
|
||||||
|
check_str='role:old'
|
||||||
|
)
|
||||||
|
new_rule = policy.RuleDefault(
|
||||||
|
name='foo:create_bar',
|
||||||
|
check_str='role:fizz',
|
||||||
|
description='Create a bar.',
|
||||||
|
deprecated_rule=deprecated_rule,
|
||||||
|
deprecated_reason=(
|
||||||
|
'role:fizz is a more sane default for foo:create_bar'
|
||||||
|
),
|
||||||
|
deprecated_since='N'
|
||||||
|
)
|
||||||
|
opts = {'rules': [new_rule]}
|
||||||
|
|
||||||
|
extensions = []
|
||||||
|
for name, opts in opts.items():
|
||||||
|
ext = stevedore.extension.Extension(name=name, entry_point=None,
|
||||||
|
plugin=None, obj=opts)
|
||||||
|
extensions.append(ext)
|
||||||
|
test_mgr = stevedore.named.NamedExtensionManager.make_test_instance(
|
||||||
|
extensions=extensions, namespace=['rules'])
|
||||||
|
|
||||||
|
expected = '''# Create a bar.
|
||||||
|
#"foo:create_bar": "role:fizz"
|
||||||
|
|
||||||
|
# DEPRECATED "foo:create_bar":"role:old" has been deprecated since N
|
||||||
|
# in favor of "foo:create_bar":"role:fizz". role:fizz is a more sane
|
||||||
|
# default for foo:create_bar
|
||||||
'''
|
'''
|
||||||
stdout = self._capture_stdout()
|
stdout = self._capture_stdout()
|
||||||
with mock.patch('stevedore.named.NamedExtensionManager',
|
with mock.patch('stevedore.named.NamedExtensionManager',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user