Implement a __contains__ override for extension manager
Change-Id: I027c576e36fc0f4e016b6aec67f585bf2c03bd7b Closes-Bug: #1374099
This commit is contained in:
parent
4f2b64720f
commit
bbafbe9dab
stevedore
@ -274,3 +274,8 @@ class ExtensionManager(object):
|
|||||||
d[e.name] = e
|
d[e.name] = e
|
||||||
self._extensions_by_name = d
|
self._extensions_by_name = d
|
||||||
return self._extensions_by_name[name]
|
return self._extensions_by_name[name]
|
||||||
|
|
||||||
|
def __contains__(self, name):
|
||||||
|
"""Return true if name is in list of enabled extensions.
|
||||||
|
"""
|
||||||
|
return any(extension.name == name for extension in self.extensions)
|
||||||
|
@ -36,6 +36,10 @@ class TestCallback(utils.TestCase):
|
|||||||
e = em['t1']
|
e = em['t1']
|
||||||
self.assertEqual(e.name, 't1')
|
self.assertEqual(e.name, 't1')
|
||||||
|
|
||||||
|
def test_contains_by_name(self):
|
||||||
|
em = extension.ExtensionManager('stevedore.test.extension')
|
||||||
|
self.assertEqual('t1' in em, True)
|
||||||
|
|
||||||
def test_get_by_name_missing(self):
|
def test_get_by_name_missing(self):
|
||||||
em = extension.ExtensionManager('stevedore.test.extension')
|
em = extension.ExtensionManager('stevedore.test.extension')
|
||||||
try:
|
try:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user