def _load_conf(self, conf_file): """load agent conf""" if not os.path.exists(conf_file): raise IOError('conf file not found:%s' % conf_file) self._conf_dict = {} user_confdict = conf.Configure2Dict(conf_file).get_dict() default = settings.ARROW_MASTER_DEFAULT_PARAMS control_conf = {} log_conf = {} control_conf['heartbeat_interval'] = settings.check_and_load_existence( user_confdict, default, '["control"]["heartbeat_interval"]') control_conf['master_ip'] = settings.check_and_load_existence( user_confdict, default, '["control"]["master_ip"]') control_conf['master_port'] = settings.check_and_load_existence( user_confdict, default, '["control"]["master_port"]') control_conf['queue_exec_thdnum'] = settings.check_and_load_existence( user_confdict, default, '["control"]["queue_exec_thdnum"]') control_conf[ 'queue_delay_exe_thdnum'] = settings.check_and_load_existence( user_confdict, default, '["control"]["queue_delay_exe_thdnum"]') control_conf['port'] = settings.check_and_load_existence( user_confdict, default, '["control"]["port"]') control_conf['interface'] = settings.check_and_load_existence( user_confdict, default, '["control"]["interface"]') log_conf = settings.check_and_load_existence(user_confdict, default, '["log"]["path"]') self._conf_dict['control'] = control_conf self._conf_dict['log'] = log_conf
def test_arrary_special_chars(self): """test arrary""" # test conf arrary list_conf = conf.Configure2Dict('./conf/test.list.conf', False).get_dict() ut.assert_eq(len(list_conf['arrary_test']['a']), 4) ut.assert_eq(len(list_conf['arrary_test']['b']), 2) ut.assert_eq(len(list_conf['arrary_test']['c']), 1) # test special chars ut.assert_eq(list_conf['sepecial_chars']['with_back_slash_d'], r'^/((home(/disk\d+)*)|tmp)/(normandy|work|mapred)/.*') # test disorder of arrays confdict = conf.Configure2Dict('./conf/conf_mock.conf', False).get_dict() ut.assert_eq('123' in confdict['test']['nice']['prefix'], True) ut.assert_eq(len(confdict['test']['nice']['prefix']), 2) newdict = { 'minghao': 'abc', 'liuxuan': [1, 2, 3, 4], 'layer1': { 'layer2': 'abc', 'layer2-array': [{ 'key-1': 1 }, { 'key-1': 2 }], }, 'layer1-array': [{ 'key-1': 1 }, { 'key-1': 2 }], 'zksdfjk': 'abc', 'kehyrj': 1, 'test': 'abcdefg\d' } confdict['layer2']['newtest'] = newdict confobj = conf.Dict2Configure(confdict) confobj.write_conf('./conf/test.conf') test_dict = conf.Configure2Dict('./conf/test.conf').get_dict() print('test_comments:', confdict['test_comments'])
def test_include_files(self): """test include""" include_conf = conf.Configure2Dict('./conf/test.include.conf') include_dict = include_conf.get_dict(ignore_error=True) ut.assert_in('./conf/test.included.conf', include_dict['$include'].keys()) in_confdict = include_dict['$include']['./conf/test.included.conf'] ut.assert_eq(in_confdict['layer_included']['layer1-option00'], 'layer1-option00')
def _load_conf(self, conf_file): """ load conf into memory. If user conf does not have the conf item, arrow will use default values in arrow.common.settings(.py) """ if not os.path.exists(conf_file): raise IOError('conf file not found:%s' % conf_file) self._conf_dict = {} user_confdict = conf.Configure2Dict(conf_file).get_dict() default = settings.ARROW_MASTER_DEFAULT_PARAMS self._conf_dict['control'] = {} settings.check_and_load_existence( user_confdict, default, '["control"]' ) self._conf_dict['control']['queue_exec_thdnum'] = \ settings.check_and_load_existence( user_confdict, default, '["control"]["queue_exec_thdnum"]' ) self._conf_dict['control']['queue_delay_exe_thdnum'] = \ settings.check_and_load_existence( user_confdict, default, '["control"]["queue_delay_exe_thdnum"]' ) self._conf_dict['control']['queue_exec_thdnum'] = \ settings.check_and_load_existence( user_confdict, default, '["control"]["queue_exec_thdnum"]' ) self._conf_dict['control']['local_datadir'] = \ settings.check_and_load_existence( user_confdict, default, '["control"]["local_datadir"]' ) self._conf_dict['control']['check_heartbeat_interval'] = \ settings.check_and_load_existence( user_confdict, default, '["control"]["check_heartbeat_interval"]' ) self._conf_dict['control']['judge_agent_dead_in_sec'] = \ settings.check_and_load_existence( user_confdict, default, '["control"]["judge_agent_dead_in_sec"]' ) self._conf_dict['control']['keep_lost'] = \ settings.check_and_load_existence( user_confdict, default, '["control"]["keep_lost"]' ) self._conf_dict['control']['port'] = \ settings.check_and_load_existence( user_confdict, default, '["control"]["port"]' )
def test_include_wrong_file(self): """test wrong include""" include_conf = conf.Configure2Dict('./conf/test.include.wrong.conf') include_dict = include_conf.get_dict(ignore_error=True) ut.assert_in('./conf/test.included.conf', include_dict['$include'].keys()) in_confdict = include_dict['$include']['./conf/test.included.conf'] ut.assert_eq(in_confdict['layer_included']['layer1-option00'], 'layer1-option00') conf.Dict2Configure(include_dict).write_conf( './conf/test.include.write') try: include_dict = include_conf.get_dict(ignore_error=False) ut.assert_eq('should raise IOError', 1) except IOError as _: pass
# # ############################################################# """ :authors: Guannan Ma maguannan @mythmgn :create_date: 2015/2/5 15:42 :modify_date: 2015/2/5 15:42 :description: unittest of cup.util.conf """ import cup.util.conf as conf confdict = conf.Configure2Dict('./conf_mock.conf', False).get_dict() print confdict newdict = { 'minghao': 'abc', 'liuxuan': [1, 2, 3, 4], 'layer1': { 'layer2': 'abc', 'layer2-array': [{ 'key-1': 1 }, { 'key-1': 2 }], }, 'layer1-array': [{