Merge "Remove plugins from possible notifiers"

This commit is contained in:
Jenkins 2017-01-24 06:27:14 +00:00 committed by Gerrit Code Review
commit ac566b9f84
2 changed files with 17 additions and 0 deletions

View File

@ -87,6 +87,10 @@ def config(cfg):
else:
log.warn("No config data for type: {}".format(ntype))
config_with_no_notifiers = set(formatted_config.keys()) - set(configured_notifiers.keys())
# Plugins section contains only additional plugins and should not be
# considered as a separate plugin
if 'plugins' in config_with_no_notifiers:
config_with_no_notifiers.remove('plugins')
if config_with_no_notifiers:
log.warn("No notifiers found for {0}". format(", ".join(config_with_no_notifiers)))

View File

@ -382,3 +382,16 @@ class TestInterface(unittest.TestCase):
configured_plugins = ["email", "webhook", "pagerduty", "slack"]
for plugin in notifiers.configured_notifiers:
self.asssertIn(plugin.type in configured_plugins)
@mock.patch('monasca_notification.types.notifiers.log')
def test_no_plugins_keyword_in_possible_notifiers(self, mock_log):
mock_log.warning = self.trap.append
config_dict = {"plugins": ["monasca_notification.plugins.slack_notifier:SlackNotifier"],
"fake_notifier": ["monasca_notification.plugins.fake_notifier:FakeNotifier"],
"slack": {"timeout": 5, "ca_certs": "/etc/ssl/certs/ca-certificates.crt", "insecure": False}
}
notifiers.init(self.statsd)
notifiers.possible_notifiers = []
notifiers.load_plugins(config_dict)
notifiers.config(config_dict)
self.assertEqual('No notifiers found for fake_notifier', mock_log.warn.call_args[0][0])