def test_run(self): """ Passes some configuration to the startup method and sees if the components are started up. Then it reconfigures it with empty configuration, the original configuration again and shuts down. It also checks the components are kept inside the configurator. """ configurator = Configurator(self, self.__specials) # Can't reconfigure nor stop yet self.assertRaises(ValueError, configurator.reconfigure, self.__core) self.assertRaises(ValueError, configurator.shutdown) self.assertFalse(configurator.running()) # Start it configurator.startup(self.__core) self.assertEqual(self.__core_log, self.log) for core in self.__core.keys(): self.assertTrue(core in configurator._components) self.assertEqual(self.__core[core], configurator._components[core][0]) self.assertEqual(set(self.__core), set(configurator._components)) self.assertTrue(configurator.running()) # It can't be started twice self.assertRaises(ValueError, configurator.startup, self.__core) self.log = [] # Reconfigure - stop everything configurator.reconfigure({}) self.assertEqual({}, configurator._components) self.assertTrue(configurator.running()) self.__check_shutdown_log() # Start it again self.log = [] configurator.reconfigure(self.__core) self.assertEqual(self.__core_log, self.log) for core in self.__core.keys(): self.assertTrue(core in configurator._components) self.assertEqual(self.__core[core], configurator._components[core][0]) self.assertEqual(set(self.__core), set(configurator._components)) self.assertTrue(configurator.running()) # Do a shutdown self.log = [] configurator.shutdown() self.assertEqual({}, configurator._components) self.assertFalse(configurator.running()) self.__check_shutdown_log() # It can't be stopped twice self.assertRaises(ValueError, configurator.shutdown)
def test_init(self): """ Tests the configurator can be created and it does not create any components yet, nor does it remember anything. """ configurator = Configurator(self, self.__specials) self.assertEqual([], self.log) self.assertEqual({}, configurator._components) self.assertFalse(configurator.running())