Merge "raise better exception for duplicate match"
This commit is contained in:
commit
31e9374525
@ -167,3 +167,8 @@ class UnsupportedVersion(Exception):
|
||||
|
||||
class CommandError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class NeutronClientNoUniqueMatch(NeutronClientException):
|
||||
message = _("Multiple %(resource)s matches found for name '%(name)s',"
|
||||
" use an ID to be more specific.")
|
||||
|
@ -52,11 +52,8 @@ def _find_resourceid_by_name(client, resource, name):
|
||||
collection = resource + "s"
|
||||
info = data[collection]
|
||||
if len(info) > 1:
|
||||
msg = (_("Multiple %(resource)s matches found for name '%(name)s',"
|
||||
" use an ID to be more specific.") %
|
||||
{'resource': resource, 'name': name})
|
||||
raise exceptions.NeutronClientException(
|
||||
message=msg)
|
||||
raise exceptions.NeutronClientNoUniqueMatch(resource=resource,
|
||||
name=name)
|
||||
elif len(info) == 0:
|
||||
not_found_message = (_("Unable to find %(resource)s with name "
|
||||
"'%(name)s'") %
|
||||
|
@ -109,7 +109,7 @@ class CLITestNameorID(testtools.TestCase):
|
||||
try:
|
||||
neutronV20.find_resourceid_by_name_or_id(
|
||||
self.client, 'network', name)
|
||||
except exceptions.NeutronClientException as ex:
|
||||
except exceptions.NeutronClientNoUniqueMatch as ex:
|
||||
self.assertTrue('Multiple' in ex.message)
|
||||
|
||||
def test_get_id_from_name_notfound(self):
|
||||
|
Loading…
x
Reference in New Issue
Block a user