genid, clients_map = self._datasrc_clients_mgr.get_clients_map()
datasrc_info = DataSrcInfo(genid, clients_map, self._config_params)
self._datasrc_info_list.append(datasrc_info)
+ self._init_segments(datasrc_info)
# Full datasrc reconfig will be rare, so would be worth logging
# at the info level.
logger.info(MEMMGR_DATASRC_RECONFIGURED, genid)
+
except isc.server_common.datasrc_clients_mgr.ConfigError as ex:
logger.error(MEMMGR_DATASRC_CONFIG_ERROR, ex)
+ def _init_segments(datasrc_info):
+ pass
+
if '__main__' == __name__:
mgr = Memmgr()
sys.exit(mgr.run(MODULE_NAME))
cfg_data = MockConfigData(
{"classes": {"IN": [{"type": "MasterFiles",
"cache-enable": True, "params": {}}]}})
+ self.__init_called = None
+ def mock_init_segments(param):
+ self.__init_called = param
+ self.__mgr._init_segments = mock_init_segments
self.__mgr._datasrc_config_handler({}, cfg_data)
self.assertEqual(1, len(self.__mgr._datasrc_info_list))
self.assertEqual(1, self.__mgr._datasrc_info_list[0].gen_id)
+ self.assertEqual(self.__init_called, self.__mgr._datasrc_info_list[0])
# Below we're using a mock DataSrcClientMgr for easier tests
class MockDataSrcClientMgr:
MockDataSrcClientMgr([('sqlite3', 'mapped', None)])
self.__mgr._datasrc_config_handler(None, None) # params don't matter
self.assertEqual(2, len(self.__mgr._datasrc_info_list))
+ self.assertEqual(self.__init_called, self.__mgr._datasrc_info_list[1])
self.assertIsNotNone(
self.__mgr._datasrc_info_list[1].segment_info_map[
(RRClass.IN, 'sqlite3')])