def test_argument_process(self): def callback(settings, value): settings['TEST'] = value argument = Argument( Config( env='CONFIG', arg='--config', default=None ), callback=callback ) test_settings = {} argument.process([], {}, test_settings) self.assertEqual(test_settings, {'TEST': None}) test_settings = {} argument.process(['--config', 'value'], {}, test_settings) self.assertEqual(test_settings, {'TEST': 'value'}) test_settings = {} argument.process([], {'CONFIG': 'value'}, test_settings) self.assertEqual(test_settings, {'TEST': 'value'})
def test_argument(self): callback = Callback() argument = Argument( Config( env='CONFIG', arg='--config', default=None ), callback=callback ) argument.process([], {}, {}) self.assertEqual(callback.num_calls, 1) self.assertEqual(callback.get_call(0).args, ({}, None)) callback.reset() argument.process(['--config', 'value'], {}, {}) self.assertEqual(callback.num_calls, 1) self.assertEqual(callback.get_call(0).args, ({}, 'value')) callback.reset() argument.process([], {'CONFIG': 'value'}, {}) self.assertEqual(callback.num_calls, 1) self.assertEqual(callback.get_call(0).args, ({}, 'value'))
def test_main_config(self): with listen() as registry: main( ['app_manage'], argv=['manage.py', 'app_manage_test', '--config', 'myvalue'], TEST_SETTING=Config(arg='--config', default=None) ) from django.conf import settings self.assertEqual(settings.TEST_SETTING, 'myvalue') self.assertEqual(registry, [ ( (), { 'settings': None, 'verbosity': '1', 'pythonpath': None, 'no_color': False, 'traceback': None, 'my_flag': 'flag-no-set' } ) ])
def test_flag(self): config = Config(arg=Flag('--test')) value = config.get_value(['--test', 1], {}) self.assertEqual(value, True)
def test_no_default(self): config = Config(arg='--test', env='TEST') self.assertRaises( DynamicConfigError, config.get_value, [], {} )
def test_arg_beats_env(self): config = Config(default=1, arg='--test', env='TEST') value = config.get_value(['--test', 4], {'TEST': 5}) self.assertEqual(value, 4)
def test_config_env(self): config = Config(default=1, arg='--test', env='TEST') value = config.get_value([], {'TEST': 3}) self.assertEqual(value, 3)
def test_config_arg(self): config = Config(default=1, arg='--test', env='TEST') value = config.get_value(['--test', 2], {}) self.assertEqual(value, 2)