From 0ff7d113ebb54889bbcd9be91c37a0e5ffcc2fc4 Mon Sep 17 00:00:00 2001 From: JINMEI Tatuya Date: Thu, 4 Oct 2012 17:55:57 -0700 Subject: [PATCH] [2244] added a simple has_component() method to configurtor. should be pretty trivial, so added a couple of test cases as part of other tests. --- src/lib/python/isc/bind10/component.py | 4 ++++ src/lib/python/isc/bind10/tests/component_test.py | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/python/isc/bind10/component.py b/src/lib/python/isc/bind10/component.py index 0b822a83e2..57f9428586 100644 --- a/src/lib/python/isc/bind10/component.py +++ b/src/lib/python/isc/bind10/component.py @@ -571,6 +571,10 @@ class Configurator: self._running = False self.__reconfigure_internal(self._components, {}) + def has_component(self, component): + '''Return if a specified component is configured.''' + return component in map(lambda x: x[1], self._components.values()) + def reconfigure(self, configuration): """ Changes configuration from the current one to the provided. It diff --git a/src/lib/python/isc/bind10/tests/component_test.py b/src/lib/python/isc/bind10/tests/component_test.py index 1cfc30f8b4..d8a89d578a 100644 --- a/src/lib/python/isc/bind10/tests/component_test.py +++ b/src/lib/python/isc/bind10/tests/component_test.py @@ -896,7 +896,7 @@ class ConfiguratorTest(BossUtils, unittest.TestCase): # We run the plan so the component is wired into internal structures configurator._run_plan(plan) # We should have the 'additional' component in the configurator. - self.assertTrue('additional' in configurator._components) + self.assertTrue(configurator.has_component(component)) for count in [0, 1]: # repeat two times, see below self.log = [] plan = configurator._build_plan(self.__build_components(bigger), @@ -915,6 +915,8 @@ class ConfiguratorTest(BossUtils, unittest.TestCase): component.failed(0) # Run the plan, confirm the specified component is gone. configurator._run_plan(plan) + self.assertFalse(configurator.has_component(component)) + # There shouldn't be any other object that has the same name self.assertFalse('additional' in configurator._components) # We want to switch a component. So, prepare the configurator so it