Merge "Add name parameter to NoMatchingPlugin exception"
This commit is contained in:
@@ -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
|
||||
|
||||
|
@@ -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."""
|
||||
|
@@ -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,
|
||||
|
Reference in New Issue
Block a user