def test_selection_multi_bot(self): config_file, logging_file = MockConfigFiles.get_config_files(self) arguments = MockConfigFiles.get_commandline_args(None, logging_file) client = MockBotClient(arguments) bot1 = Bot(BotConfiguration(), client) bot2 = Bot(BotConfiguration(), client) bot3 = Bot(BotConfiguration(), client) bots = {"bot1": bot1, "bot2": bot2, "bot3": bot3} config = ClientConfigurationData(name="test") selector = DefaultBotSelector(config, bots) selected = selector.select_bot() self.assertIsNotNone(selected) self.assertEquals(selected, bot1) selected = selector.select_bot() self.assertIsNotNone(selected) self.assertEquals(selected, bot2) selected = selector.select_bot() self.assertIsNotNone(selected) self.assertEquals(selected, bot3) selected = selector.select_bot() self.assertIsNotNone(selected) self.assertEquals(selected, bot1)
def test_sub_classed_client_no_bot_root_no_config(self): config_file, logging_file = MockConfigFiles.get_config_files(self) arguments = MockConfigFiles.get_commandline_args(None, logging_file) client = MockBotClient(arguments) self.assertIsNotNone(client) self.assertIsNotNone(client.arguments)
def test_scheduler(self): config_file, logging_file = MockConfigFiles.get_config_files(self) arguments = MockConfigFiles.get_commandline_args( config_file, logging_file) client = MockBotClient(arguments) self.assertIsNotNone(client.scheduler)
def test_sub_classed_client(self): config_file, logging_file = MockConfigFiles.get_config_files(self) arguments = MockConfigFiles.get_commandline_args(None, logging_file) client = MockBotClient(arguments) self.assertIsNotNone(client) self.assertIsNotNone(client.arguments) self.assertIsNotNone(client.arguments) self.assertEqual("ProgramY Test Client", client.get_description()) client.run() client.log_response(None, None) client.log_unknown_response(None)
def test_empty_config_init(self): arguments = MockArgumentParser() client = MockBotClient(arguments) configuration = unittest.mock.Mock() configuration.configurations = [] configuration.bot_selector = "programy.clients.client.DefaultBotSelector" factory = BotFactory(client, configuration) self.assertIsNotNone(factory) bot = factory.select_bot() self.assertIsNone(bot)
def test_trigger_manager(self): config_file, logging_file = MockConfigFiles.get_config_files(self) arguments = MockConfigFiles.get_commandline_args( config_file, logging_file) client = MockBotClient(arguments) self.assertIsNotNone(client.trigger_manager) client.startup() client.shutdown()