Merge "Add name parameter to NoMatchingPlugin exception"

This commit is contained in:
Jenkins
2015-02-09 05:17:12 +00:00
committed by Gerrit Code Review
3 changed files with 20 additions and 8 deletions

View File

@@ -17,7 +17,6 @@ import six
import stevedore
from keystoneclient import exceptions
from keystoneclient.i18n import _
# NOTE(jamielennox): The AUTH_INTERFACE is a special value that can be
@@ -44,8 +43,7 @@ def get_plugin_class(name):
name=name,
invoke_on_load=False)
except RuntimeError:
msg = _('The plugin %s could not be found') % name
raise exceptions.NoMatchingPlugin(msg)
raise exceptions.NoMatchingPlugin(name)
return mgr.driver

View File

@@ -81,8 +81,19 @@ class MissingAuthPlugin(ClientException):
class NoMatchingPlugin(ClientException):
"""There were no auth plugins that could be created from the parameters
provided.
:param str name: The name of the plugin that was attempted to load.
.. py:attribute:: name
The name of the plugin that was attempted to load.
"""
def __init__(self, name):
self.name = name
msg = _('The plugin %s could not be found') % name
super(NoMatchingPlugin, self).__init__(msg)
class InvalidResponse(ClientException):
"""The response from the server is not valid for this request."""

View File

@@ -92,13 +92,16 @@ class ConfTests(utils.TestCase):
self.assertEqual(project_domain_name, a.project_domain_name)
def test_loading_invalid_plugin(self):
self.conf_fixture.config(auth_plugin=uuid.uuid4().hex,
auth_plugin = uuid.uuid4().hex
self.conf_fixture.config(auth_plugin=auth_plugin,
group=self.GROUP)
self.assertRaises(exceptions.NoMatchingPlugin,
conf.load_from_conf_options,
self.conf_fixture.conf,
self.GROUP)
e = self.assertRaises(exceptions.NoMatchingPlugin,
conf.load_from_conf_options,
self.conf_fixture.conf,
self.GROUP)
self.assertEqual(auth_plugin, e.name)
def test_loading_with_no_data(self):
self.assertIsNone(conf.load_from_conf_options(self.conf_fixture.conf,