def _reset_global_config(self): from pecan import configuration configuration.set_config( dict(configuration.initconf()), overwrite=True ) os.environ.pop('PECAN_CONFIG', None)
def reset_global_config(): """ When tests alter application configurations they can get sticky and pollute other tests that might rely on a pristine configuration. This helper will reset the config by overwriting it with ``pecan.configuration.DEFAULT``. """ from pecan import configuration configuration.set_config(dict(configuration.initconf()), overwrite=True) os.environ.pop('PECAN_CONFIG', None)
def reset_global_config(): """ When tests alter application configurations they can get sticky and pollute other tests that might rely on a pristine configuration. This helper will reset the config by overwriting it with ``pecan.configuration.DEFAULT``. """ from pecan import configuration configuration.set_config( dict(configuration.initconf()), overwrite=True ) os.environ.pop('PECAN_CONFIG', None)
def test_queue_parse(self): """ Ensure that if the configuration file includes an explicit list of queues, it's used for CELERYD_QUEUES """ conf = configuration.initconf() conf.update_with_module('queues') c = CeleryCommand('celeryd') c.config = conf self.assertEqual(c.determine_queues(), 'example,testing123')
def test_celery_imports_module(self): """ Ensure that if CELERY_IMPORTS is specified manually in pecan config, it's actually used """ conf = configuration.initconf() conf.update_with_module('standard') from pecancelery import conf app = celery.Celery() for k, v in app.loader.conf.items(): if k == 'CELERY_IMPORTS': self.assertEqual(dict(conf)[k], ('package.module.tasks',))
def test_defaults(self): """ Ensure that if the configuration file includes no celery config, the parsed config object is identical to celery's default config object """ conf = configuration.initconf() conf.update_with_module('empty') from pecancelery import conf app = celery.Celery() for k, v in app.loader.conf.items(): self.assertEqual(dict(conf)[k], v)
def test_update_set_config(self): """Update an empty configuration with the default values""" conf = configuration.initconf() conf.update_with_module("config") self.assertTrue(conf.app.debug) self.assertEqual(conf.app.root, None) self.assertEqual(conf.app.template_path, "myproject/templates") self.assertEqual(conf.app.static_root, "public") self.assertEqual(conf.server.host, "1.1.1.1") self.assertEqual(conf.server.port, "8081")
def test_update_set_default_config(self): """Update an empty configuration with the default values""" conf = configuration.initconf() conf.update_with_module("empty") self.assertFalse(conf.app.debug) self.assertEqual(conf.app.root, None) self.assertEqual(conf.app.template_path, "") self.assertEqual(conf.app.static_root, "public") self.assertEqual(conf.server.host, "0.0.0.0") self.assertEqual(conf.server.port, "8080")
def test_config_to_dict(self): from pecan import configuration conf = configuration.initconf() assert isinstance(conf, configuration.Config) to_dict = conf.to_dict() assert isinstance(to_dict, dict) assert to_dict['server']['host'] == '0.0.0.0' assert to_dict['server']['port'] == '8080' assert to_dict['app']['modules'] == [] assert to_dict['app']['root'] is None assert to_dict['app']['static_root'] == 'public' assert to_dict['app']['template_path'] == ''
def test_update_set_default_config(self): """Update an empty configuration with the default values""" from pecan import configuration conf = configuration.initconf() conf.update( configuration.conf_from_file( os.path.join(__here__, 'config_fixtures/empty.py'))) self.assertEqual(conf.app.root, None) self.assertEqual(conf.app.template_path, '') self.assertEqual(conf.app.static_root, 'public') self.assertEqual(conf.server.host, '0.0.0.0') self.assertEqual(conf.server.port, '8080')
def test_single_config(self): """ Ensure that if the configuration file includes celery-specific config, the parsed config object includes it """ conf = configuration.initconf() conf.update_with_module('empty') from pecancelery import conf app = celery.Celery() for k, v in app.loader.conf.items(): if k == 'BROKER_HOST': self.assertEqual(dict(conf)[k], 'example.com') else: self.assertEqual(dict(conf)[k], v)
def test_update_set_default_config(self): """Update an empty configuration with the default values""" from pecan import configuration conf = configuration.initconf() conf.update(configuration.conf_from_file(os.path.join( __here__, 'config_fixtures/empty.py' ))) self.assertEqual(conf.app.root, None) self.assertEqual(conf.app.template_path, '') self.assertEqual(conf.app.static_root, 'public') self.assertEqual(conf.server.host, '0.0.0.0') self.assertEqual(conf.server.port, '8080')
def test_config_to_dict_prefixed(self): from pecan import configuration """Add a prefix for keys""" conf = configuration.initconf() assert isinstance(conf, configuration.Config) to_dict = conf.to_dict('prefix_') assert isinstance(to_dict, dict) assert to_dict['prefix_server']['prefix_host'] == '0.0.0.0' assert to_dict['prefix_server']['prefix_port'] == '8080' assert to_dict['prefix_app']['prefix_modules'] == [] assert to_dict['prefix_app']['prefix_root'] is None assert to_dict['prefix_app']['prefix_static_root'] == 'public' assert to_dict['prefix_app']['prefix_template_path'] == ''
def test_config_to_dict_nested(self): from pecan import configuration """have more than one level nesting and convert to dict""" conf = configuration.initconf() nested = {'one': {'two': 2}} conf['nested'] = nested to_dict = conf.to_dict() assert isinstance(to_dict, dict) assert to_dict['server']['host'] == '0.0.0.0' assert to_dict['server']['port'] == '8080' assert to_dict['app']['modules'] == [] assert to_dict['app']['root'] is None assert to_dict['app']['static_root'] == 'public' assert to_dict['app']['template_path'] == '' assert to_dict['nested']['one']['two'] == 2
def test_config_as_dict(self): conf = configuration.initconf() assert isinstance(conf, configuration.Config) as_dict = conf.as_dict() assert isinstance(as_dict, dict) assert as_dict['server']['host'] == '0.0.0.0' assert as_dict['server']['port'] == '8080' assert as_dict['app']['debug'] == False assert as_dict['app']['errors'] == {} assert as_dict['app']['force_canonical'] == True assert as_dict['app']['modules'] == [] assert as_dict['app']['root'] == None assert as_dict['app']['static_root'] == 'public' assert as_dict['app']['template_path'] == ''
def test_config_as_dict(self): conf = configuration.initconf() assert isinstance(conf, configuration.Config) as_dict = conf.as_dict() assert isinstance(as_dict, dict) assert as_dict["server"]["host"] == "0.0.0.0" assert as_dict["server"]["port"] == "8080" assert as_dict["app"]["debug"] == False assert as_dict["app"]["errors"] == {} assert as_dict["app"]["force_canonical"] == True assert as_dict["app"]["modules"] == [] assert as_dict["app"]["root"] == None assert as_dict["app"]["static_root"] == "public" assert as_dict["app"]["template_path"] == ""
def test_update_force_dict(self): """Update an empty configuration with the default values""" conf = configuration.initconf() conf.update_with_module('forcedict') self.assertFalse(conf.app.debug) self.assertEqual(conf.app.root, None) self.assertEqual(conf.app.template_path, '') self.assertEqual(conf.app.static_root, 'public') self.assertEqual(conf.server.host, '0.0.0.0') self.assertEqual(conf.server.port, '8080') self.assertTrue(isinstance(conf.beaker, dict)) self.assertEqual(conf.beaker['session.key'], 'key') self.assertEqual(conf.beaker['session.type'], 'cookie') self.assertEqual(conf.beaker['session.validate_key'], '1a971a7df182df3e1dec0af7c6913ec7') self.assertEqual(conf.beaker.get('__force_dict__'), None)
def test_config_as_dict_prefixed(self): """Add a prefix for keys""" conf = configuration.initconf() assert isinstance(conf, configuration.Config) as_dict = conf.as_dict('prefix_') assert isinstance(as_dict, dict) assert as_dict['prefix_server']['prefix_host'] == '0.0.0.0' assert as_dict['prefix_server']['prefix_port'] == '8080' assert as_dict['prefix_app']['prefix_debug'] == False assert as_dict['prefix_app']['prefix_errors'] == {} assert as_dict['prefix_app']['prefix_force_canonical'] == True assert as_dict['prefix_app']['prefix_modules'] == [] assert as_dict['prefix_app']['prefix_root'] == None assert as_dict['prefix_app']['prefix_static_root'] == 'public' assert as_dict['prefix_app']['prefix_template_path'] == ''
def test_update_force_dict(self): """Update an empty configuration with the default values""" conf = configuration.initconf() conf.update_with_module("forcedict") self.assertFalse(conf.app.debug) self.assertEqual(conf.app.root, None) self.assertEqual(conf.app.template_path, "") self.assertEqual(conf.app.static_root, "public") self.assertEqual(conf.server.host, "0.0.0.0") self.assertEqual(conf.server.port, "8080") self.assertTrue(isinstance(conf.beaker, dict)) self.assertEqual(conf.beaker["session.key"], "key") self.assertEqual(conf.beaker["session.type"], "cookie") self.assertEqual(conf.beaker["session.validate_key"], "1a971a7df182df3e1dec0af7c6913ec7") self.assertEqual(conf.beaker.get("__force_dict__"), None)
def test_config_as_dict_prefixed(self): """Add a prefix for keys""" conf = configuration.initconf() assert isinstance(conf, configuration.Config) as_dict = conf.as_dict("prefix_") assert isinstance(as_dict, dict) assert as_dict["prefix_server"]["prefix_host"] == "0.0.0.0" assert as_dict["prefix_server"]["prefix_port"] == "8080" assert as_dict["prefix_app"]["prefix_debug"] == False assert as_dict["prefix_app"]["prefix_errors"] == {} assert as_dict["prefix_app"]["prefix_force_canonical"] == True assert as_dict["prefix_app"]["prefix_modules"] == [] assert as_dict["prefix_app"]["prefix_root"] == None assert as_dict["prefix_app"]["prefix_static_root"] == "public" assert as_dict["prefix_app"]["prefix_template_path"] == ""
def test_config_as_dict_nested(self): """have more than one level nesting and convert to dict""" conf = configuration.initconf() nested = {"one": {"two": 2}} conf["nested"] = nested as_dict = conf.as_dict() assert isinstance(as_dict, dict) assert as_dict["server"]["host"] == "0.0.0.0" assert as_dict["server"]["port"] == "8080" assert as_dict["app"]["debug"] == False assert as_dict["app"]["errors"] == {} assert as_dict["app"]["force_canonical"] == True assert as_dict["app"]["modules"] == [] assert as_dict["app"]["root"] == None assert as_dict["app"]["static_root"] == "public" assert as_dict["app"]["template_path"] == "" assert as_dict["nested"]["one"]["two"] == 2
def test_config_as_dict_nested(self): """have more than one level nesting and convert to dict""" conf = configuration.initconf() nested = {'one':{'two':2}} conf['nested'] = nested as_dict = conf.as_dict() assert isinstance(as_dict, dict) assert as_dict['server']['host'] == '0.0.0.0' assert as_dict['server']['port'] == '8080' assert as_dict['app']['debug'] == False assert as_dict['app']['errors'] == {} assert as_dict['app']['force_canonical'] == True assert as_dict['app']['modules'] == [] assert as_dict['app']['root'] == None assert as_dict['app']['static_root'] == 'public' assert as_dict['app']['template_path'] == '' assert as_dict['nested']['one']['two'] == 2
def test_update_force_dict(self): """Update an empty configuration with the default values""" from pecan import configuration conf = configuration.initconf() conf.update( configuration.conf_from_file( os.path.join(__here__, 'config_fixtures/forcedict.py'))) self.assertEqual(conf.app.root, None) self.assertEqual(conf.app.template_path, '') self.assertEqual(conf.app.static_root, 'public') self.assertEqual(conf.server.host, '0.0.0.0') self.assertEqual(conf.server.port, '8080') self.assertTrue(isinstance(conf.beaker, dict)) self.assertEqual(conf.beaker['session.key'], 'key') self.assertEqual(conf.beaker['session.type'], 'cookie') self.assertEqual(conf.beaker['session.validate_key'], '1a971a7df182df3e1dec0af7c6913ec7') self.assertEqual(conf.beaker.get('__force_dict__'), None)
def test_update_force_dict(self): """Update an empty configuration with the default values""" from pecan import configuration conf = configuration.initconf() conf.update(configuration.conf_from_file(os.path.join( __here__, 'config_fixtures/forcedict.py' ))) self.assertEqual(conf.app.root, None) self.assertEqual(conf.app.template_path, '') self.assertEqual(conf.app.static_root, 'public') self.assertEqual(conf.server.host, '0.0.0.0') self.assertEqual(conf.server.port, '8080') self.assertTrue(isinstance(conf.beaker, dict)) self.assertEqual(conf.beaker['session.key'], 'key') self.assertEqual(conf.beaker['session.type'], 'cookie') self.assertEqual( conf.beaker['session.validate_key'], '1a971a7df182df3e1dec0af7c6913ec7' ) self.assertEqual(conf.beaker.get('__force_dict__'), None)
def tearDown(self): from pecan import configuration configuration.set_config( dict(configuration.initconf()), overwrite=True )
def test_config_set_from_file(self): path = os.path.join(os.path.dirname(__file__), "test_config", "empty.py") configuration.set_config(path) assert list(_runtime_conf.server) == list(configuration.initconf().server)
def test_update_config_with_dict(self): conf = configuration.initconf() d = {"attr": True} conf["attr"] = d self.assertTrue(conf.attr.attr)
def test_update_config_with_dict(self): from pecan import configuration conf = configuration.initconf() d = {'attr': True} conf['attr'] = d self.assertTrue(conf.attr.attr)
def tearDown(self): from pecan import configuration configuration.set_config(dict(configuration.initconf()), overwrite=True)
def test_config_dirname(self): from pecan import default_config conf = configuration.initconf() conf["path"] = "%(confdir)s" self.assertEqual(conf.path, os.path.dirname(default_config.__file__))
def _reset_global_config(self): from pecan import configuration configuration.set_config(dict(configuration.initconf()), overwrite=True) os.environ.pop('PECAN_CONFIG', None)