def test_init(self, mock_get_env_var, mock_get_dir_path):
"""Test initialization of config object"""
# set return values of project utility functions
mock_get_env_var.side_effect = lambda *a, **k: ':0.0' if a and a[0] == 'display' else mock.DEFAULT
mock_get_dir_path.side_effect = lambda *a, **k: 'es_path' if a and a[0] == 'es_root' else mock.DEFAULT
# create mock config object
mock_config_object = mock.MagicMock(name='ConfigObject_instance')
settings = {}
mock_config_object.__getitem__ = lambda s, k: settings.__getitem__(k)
mock_config_object.__setitem__ = lambda s, k, v: settings.__setitem__(k, v)
mock_config_object.get = settings.get
# call init method with mock variables
CONFIG_VARS.update([('sec1', ['var1']), ('sec2', ['var2', 'var3'])])
CONFIG_DEFAULTS.update(var1='foo', var3=42)
ConfigObject.__init__(mock_config_object)
# check values of settings variables
exp_settings = dict(var1='foo', var2=None, var3=42, batchMode=False, esRoot='es_path',
resultsDir='es_path/results', dataDir='es_path/data', macrosDir='es_path/tutorials',
templatesDir='es_path/templates', configDir='es_path/config')
self.assertDictEqual(settings, exp_settings, 'unexpected resulting settings dictionary')
评论列表
文章目录