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
|
||||
self._extensions_by_name = d
|
||||
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']
|
||||
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):
|
||||
em = extension.ExtensionManager('stevedore.test.extension')
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user