How to use _override_config method in autotest

Best Python code snippet using autotest_python Github


Full Screen

1import os2from everyclass.server.utils.config.default import Config as DefaultConfig3_config_inited = False4class MixedConfig(DefaultConfig):5 pass6def get_config():7 """8 单例配置加载9 :return: Config 类的实例10 """11 global _config_inited12 if _config_inited:13 return MixedConfig14 else:15 mode = os.environ.get('MODE')16 _override_config = {}17 if mode == 'PRODUCTION':18 from everyclass.server.utils.config.production import ProductionConfig19 _override_config = ProductionConfig20 MixedConfig.CONFIG_NAME = 'production'21 elif mode == 'DEVELOPMENT':22 from everyclass.server.utils.config.development import DevelopmentConfig23 _override_config = DevelopmentConfig24 MixedConfig.CONFIG_NAME = 'development'25 elif mode == 'STAGING':26 from everyclass.server.utils.config.staging import StagingConfig27 _override_config = StagingConfig28 MixedConfig.CONFIG_NAME = 'staging'29 elif mode == 'TESTING':30 from everyclass.server.utils.config.testing import TestingConfig31 _override_config = TestingConfig32 MixedConfig.CONFIG_NAME = 'testing'33 else:34 MixedConfig.CONFIG_NAME = 'default'35 print('No valid MODE environment variable specified. Default config will be used.')36 for key in dir(_override_config):37 if key.isupper():38 if isinstance(getattr(_override_config, key), dict) \39 and key in dir(MixedConfig) \40 and isinstance(getattr(MixedConfig, key), dict):41 # 字典内容增量覆盖42 dict_to_modify = getattr(MixedConfig, key)43 for k, v in getattr(_override_config, key).items():44 dict_to_modify[k] = v45 setattr(MixedConfig, key, dict_to_modify)46 else:47 # 其他类型的值直接覆盖48 setattr(MixedConfig, key, getattr(_override_config, key))49 # lazy reference type linking50 try:51 from everyclass.server.utils.config.default import LazyRefType52 except ImportError:54 pass55 # production safety check56 if mode == 'PRODUCTION':57 for each_key in getattr(MixedConfig, "PRODUCTION_OVERWRITE_FIELDS"):58 if getattr(MixedConfig, each_key) == getattr(DefaultConfig, each_key):59 print("{} must be overwritten in production environment. Exit.".format(each_key))60 exit(1)61 _config_inited = True...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:


You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?